This is a web component that allows users to self-assess their organization's PKI maturity level. The component is based on the PKI Maturity Model developed by the PKI Consortium.
To use the component, include the following script in your HTML file. Replace <version> with the version number you want to use.
<script src="https://pkic.github.io/self-assessment/<version>/self-assessment.js"></script>Then, add the <self-assessment> tag to your HTML file.
<self-assessment
dataurl="https://pkic.github.io/self-assessment/<version>/assessment-data.yaml"
configurl="https://pkic.github.io/self-assessment/<version>/config.yaml"
></self-assessment>Install the dependencies by running the following command:
npm installBuild the component by running the following command:
npm run buildTo start the development server, run the following command:
npm run startThe development server will be available at http://localhost:9000. You can use index.html and assessment-data.yaml in the src/public directory to test the component.
The component requires two configuration files: assessment-data.yaml and config.yaml. Strings supports markdown format.
The assessment-data.yaml file contains the PKI maturity modules with categories and self-assessment maturity levels:
| Key | Description |
|---|---|
modules |
List of PKI maturity modules |
modules[].id |
Module ID |
modules[].name |
Module name |
modules[].description |
Module description |
modules[].categories |
List of categories for the module |
modules[].categories[].id |
Category ID |
modules[].categories[].weight |
Category weight |
modules[].categories[].name |
Category name |
modules[].categories[].description |
Category description |
modules[].categories[].levels |
List of self-assessment levels |
modules[].categories[].levels[].number |
Level number |
modules[].categories[].levels[].name |
Level name |
modules[].categories[].levels[].description |
Level description |
JSON schema for assessment-data.yaml can be found here.
The config.yaml file contains the configuration data for the component:
| Key | Description |
|---|---|
overview.data |
Overview of the tool in markdown format |
email.enabled |
Enable sharing progress through email |
email.subject |
Email subject |
email.body |
Email body |
JSON schema for config.yaml can be found here.
You can customize the styles of the component by adding the following CSS to your HTML file. Default values are shown below. See index.module.scss for more details.
:root {
--pkimm-primary-color: #{$primary-color};
--pkimm-secondary-color: #{$secondary-color};
--pkimm-tertiary-color: #{$tertiary-color};
--pkimm-primary-color-hover: #{$primary-color-hover};
--pkimm-primary-color-lighter: #{$primary-color-lighter};
--pkimm-secondary-color-lighter: #{$secondary-color-lighter};
--pkimm-maturity-level-1: #{$maturity-level-1};
--pkimm-maturity-level-2: #{$maturity-level-2};
--pkimm-maturity-level-3: #{$maturity-level-3};
--pkimm-maturity-level-4: #{$maturity-level-4};
--pkimm-maturity-level-5: #{$maturity-level-5};
--pkimm-background-color: #{$background-color};
--pkimm-text-color-dark: #{$text-color-dark};
--pkimm-text-color-light: #{$text-color-light};
--pkimm-sticky-top-offset: 0px;
--pkimm-scroll-query-selector: window;
}This project is licensed under the MIT License - see the LICENSE file for details.