gitextract_d5fz8a2i/ ├── .dockerignore ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report-form.yml │ │ └── feature_request.md │ └── workflows/ │ ├── api-audit-test-coverage-response.yml │ ├── api-binary-tests.yml │ ├── api-container-tests.yml │ ├── api-spec-validation.yml │ ├── api-state-tests.yml │ ├── build-binary-artifacts.yml │ ├── build-client.yml │ ├── build-docs.yml │ ├── client-sonarcloud.yml │ ├── pub-docker.yml │ └── unit-tests.yml ├── .readthedocs.yml ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── Dockerfile ├── INTENT.md ├── LICENSE.md ├── README.md ├── SECURITY.md ├── api/ │ ├── README.md │ ├── bin/ │ │ └── .gitignore │ ├── build.sh │ ├── dist/ │ │ └── .gitignore │ ├── launchers/ │ │ ├── gen-launchers.py │ │ ├── stig-manager.bat │ │ └── stig-manager.sh │ ├── nuwcdivnpt-bot.gpg.asc │ ├── pkg.config.json │ └── source/ │ ├── README.md │ ├── bootstrap/ │ │ ├── bootstrapUtils.js │ │ ├── client.js │ │ ├── dependencies.js │ │ ├── docs.js │ │ ├── errorHandlers.js │ │ ├── extensionCheck.js │ │ ├── middlewares.js │ │ ├── server.js │ │ └── signals.js │ ├── controllers/ │ │ ├── Asset.js │ │ ├── Collection.js │ │ ├── Job.js │ │ ├── Metrics.js │ │ ├── Operation.js │ │ ├── Review.js │ │ ├── STIG.js │ │ └── User.js │ ├── healthcheck.js │ ├── index.js │ ├── package.json │ ├── service/ │ │ ├── AssetService.js │ │ ├── CollectionService.js │ │ ├── JobService.js │ │ ├── MetricsService.js │ │ ├── OperationService.js │ │ ├── ReviewService.js │ │ ├── STIGService.js │ │ ├── UserService.js │ │ ├── migrations/ │ │ │ ├── 0000.js │ │ │ ├── 0001.js │ │ │ ├── 0002.js │ │ │ ├── 0003.js │ │ │ ├── 0004.js │ │ │ ├── 0005.js │ │ │ ├── 0006.js │ │ │ ├── 0007.js │ │ │ ├── 0008.js │ │ │ ├── 0009.js │ │ │ ├── 0010.js │ │ │ ├── 0011.js │ │ │ ├── 0012.js │ │ │ ├── 0013.js │ │ │ ├── 0014.js │ │ │ ├── 0015.js │ │ │ ├── 0016.js │ │ │ ├── 0017.js │ │ │ ├── 0018.js │ │ │ ├── 0019.js │ │ │ ├── 0020.js │ │ │ ├── 0021.js │ │ │ ├── 0022.js │ │ │ ├── 0023.js │ │ │ ├── 0024.js │ │ │ ├── 0025.js │ │ │ ├── 0026.js │ │ │ ├── 0027.js │ │ │ ├── 0028.js │ │ │ ├── 0029.js │ │ │ ├── 0032.js │ │ │ ├── 0033.js │ │ │ ├── 0034.js │ │ │ ├── 0035.js │ │ │ ├── 0036.js │ │ │ ├── 0037.js │ │ │ ├── 0038.js │ │ │ ├── 0039.js │ │ │ ├── 0040.js │ │ │ ├── 0041.js │ │ │ ├── 0042.js │ │ │ ├── 0043.js │ │ │ ├── 0044.js │ │ │ ├── 0045.js │ │ │ ├── 0046.js │ │ │ ├── lib/ │ │ │ │ ├── MigrationHandler.js │ │ │ │ ├── mysql-import.js │ │ │ │ └── umzug-mysql-storage.js │ │ │ └── sql/ │ │ │ ├── 0000/ │ │ │ │ └── up/ │ │ │ │ ├── 10-stigman-schema.sql │ │ │ │ ├── 31-stigman-static.sql │ │ │ │ └── 32-cci-data.sql │ │ │ ├── 0001/ │ │ │ │ ├── down/ │ │ │ │ │ └── 10-collection-created.sql │ │ │ │ └── up/ │ │ │ │ └── 10-collection-created.sql │ │ │ ├── 0002/ │ │ │ │ ├── down/ │ │ │ │ │ └── 10-collection-description.sql │ │ │ │ └── up/ │ │ │ │ └── 10-collection-description.sql │ │ │ ├── 0003/ │ │ │ │ └── up/ │ │ │ │ └── 10-asset-mac-fqdn.sql │ │ │ ├── 0004/ │ │ │ │ └── up/ │ │ │ │ └── 10-user-data.sql │ │ │ ├── 0005/ │ │ │ │ ├── down/ │ │ │ │ │ └── 10-v-current-rev.sql │ │ │ │ └── up/ │ │ │ │ └── 10-v-current-rev.sql │ │ │ ├── 0006/ │ │ │ │ └── up/ │ │ │ │ └── 10-v-current-rev.sql │ │ │ ├── current/ │ │ │ │ ├── 10-stigman-tables.sql │ │ │ │ ├── 20-stigman-static.sql │ │ │ │ └── 31-rev5-cci-data.sql │ │ │ └── generateSchema.sh │ │ └── utils.js │ ├── specification/ │ │ ├── log-socket.yaml │ │ └── stig-manager.yaml │ ├── tls/ │ │ └── README.md │ └── utils/ │ ├── PoolMonitor.js │ ├── asyncApiValidator.js │ ├── auth.js │ ├── buffer-json.js │ ├── config.js │ ├── error.js │ ├── escape.js │ ├── jwksCache.js │ ├── klona.js │ ├── log-schema.json │ ├── logSocket.js │ ├── logger.js │ ├── parsers.js │ ├── poam-template-mccast.xlsx │ ├── poam-template.xlsx │ ├── roles.js │ ├── serializeError.js │ ├── serializers.js │ ├── state.js │ ├── writer.js │ └── xlsx-template-js-zip-upgrade/ │ ├── LICENSE │ ├── README.md │ ├── lib/ │ │ ├── index.d.ts │ │ └── index.js │ └── package.json ├── client/ │ ├── README.md │ ├── build.sh │ ├── dist/ │ │ └── .gitignore │ └── src/ │ ├── css/ │ │ ├── ColumnHeaderGroup.css │ │ ├── RowEditor.css │ │ ├── dark-mode.css │ │ ├── init.css │ │ ├── jsonview.bundle.css │ │ └── stigman.css │ ├── ext/ │ │ ├── INCLUDE_ORDER.txt │ │ ├── adapter/ │ │ │ └── ext/ │ │ │ ├── ext-base-debug.js │ │ │ └── ext-base.js │ │ ├── ext-all-debug-w-comments.js │ │ ├── ext-all-debug.js │ │ ├── ext-all.js │ │ ├── ext.jsb2 │ │ ├── gpl-3.0.txt │ │ ├── index.html │ │ ├── license.txt │ │ ├── release-notes.html │ │ ├── resources/ │ │ │ ├── charts.swf │ │ │ ├── css/ │ │ │ │ ├── debug.css │ │ │ │ ├── ext-all-notheme.css │ │ │ │ ├── ext-all.css │ │ │ │ ├── reset-min.css │ │ │ │ ├── structure/ │ │ │ │ │ ├── borders.css │ │ │ │ │ ├── box.css │ │ │ │ │ ├── button.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── core.css │ │ │ │ │ ├── date-picker.css │ │ │ │ │ ├── dd.css │ │ │ │ │ ├── debug.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── editor.css │ │ │ │ │ ├── form.css │ │ │ │ │ ├── grid.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── list-view.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── panel-reset.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── pivotgrid.css │ │ │ │ │ ├── progress.css │ │ │ │ │ ├── qtips.css │ │ │ │ │ ├── reset.css │ │ │ │ │ ├── resizable.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── toolbar.css │ │ │ │ │ ├── tree.css │ │ │ │ │ └── window.css │ │ │ │ ├── theme-access/ │ │ │ │ │ ├── borders.css │ │ │ │ │ ├── box.css │ │ │ │ │ ├── button.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── core.css │ │ │ │ │ ├── date-picker.css │ │ │ │ │ ├── dd.css │ │ │ │ │ ├── debug.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── editor.css │ │ │ │ │ ├── form.css │ │ │ │ │ ├── grid.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── list-view.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── progress.css │ │ │ │ │ ├── qtips.css │ │ │ │ │ ├── resizable.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── toolbar.css │ │ │ │ │ ├── tree.css │ │ │ │ │ └── window.css │ │ │ │ ├── theme-gray/ │ │ │ │ │ ├── borders.css │ │ │ │ │ ├── box.css │ │ │ │ │ ├── button.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── core.css │ │ │ │ │ ├── date-picker.css │ │ │ │ │ ├── dd.css │ │ │ │ │ ├── debug.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── editor.css │ │ │ │ │ ├── form.css │ │ │ │ │ ├── grid.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── list-view.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── pivotgrid.css │ │ │ │ │ ├── progress.css │ │ │ │ │ ├── qtips.css │ │ │ │ │ ├── resizable.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── toolbar.css │ │ │ │ │ ├── tree.css │ │ │ │ │ └── window.css │ │ │ │ ├── visual/ │ │ │ │ │ ├── borders.css │ │ │ │ │ ├── box.css │ │ │ │ │ ├── button.css │ │ │ │ │ ├── combo.css │ │ │ │ │ ├── core.css │ │ │ │ │ ├── date-picker.css │ │ │ │ │ ├── dd.css │ │ │ │ │ ├── debug.css │ │ │ │ │ ├── dialog.css │ │ │ │ │ ├── editor.css │ │ │ │ │ ├── form.css │ │ │ │ │ ├── grid.css │ │ │ │ │ ├── layout.css │ │ │ │ │ ├── list-view.css │ │ │ │ │ ├── menu.css │ │ │ │ │ ├── panel.css │ │ │ │ │ ├── pivotgrid.css │ │ │ │ │ ├── progress.css │ │ │ │ │ ├── qtips.css │ │ │ │ │ ├── resizable.css │ │ │ │ │ ├── slider.css │ │ │ │ │ ├── tabs.css │ │ │ │ │ ├── toolbar.css │ │ │ │ │ ├── tree.css │ │ │ │ │ └── window.css │ │ │ │ ├── xtheme-access.css │ │ │ │ ├── xtheme-blue.css │ │ │ │ ├── xtheme-gray.css │ │ │ │ └── yourtheme.css │ │ │ ├── expressinstall.swf │ │ │ └── images/ │ │ │ ├── access/ │ │ │ │ └── form/ │ │ │ │ ├── clear-trigger.psd │ │ │ │ ├── date-trigger.psd │ │ │ │ ├── search-trigger.psd │ │ │ │ └── trigger.psd │ │ │ ├── default/ │ │ │ │ ├── form/ │ │ │ │ │ ├── clear-trigger.psd │ │ │ │ │ ├── date-trigger.psd │ │ │ │ │ ├── search-trigger.psd │ │ │ │ │ ├── trigger-square.psd │ │ │ │ │ └── trigger.psd │ │ │ │ └── window/ │ │ │ │ ├── left-corners.psd │ │ │ │ ├── left-right.psd │ │ │ │ ├── right-corners.psd │ │ │ │ └── top-bottom.psd │ │ │ └── yourtheme/ │ │ │ ├── README.txt │ │ │ ├── form/ │ │ │ │ ├── clear-trigger.psd │ │ │ │ ├── date-trigger.psd │ │ │ │ ├── search-trigger.psd │ │ │ │ ├── trigger-square.psd │ │ │ │ └── trigger.psd │ │ │ └── window/ │ │ │ ├── left-corners.psd │ │ │ ├── left-right.psd │ │ │ ├── right-corners.psd │ │ │ └── top-bottom.psd │ │ └── ux/ │ │ ├── BufferView.js │ │ ├── CenterLayout.js │ │ ├── CheckColumn.js │ │ ├── ColumnHeaderGroup.js │ │ ├── ColumnNodeUI.js │ │ ├── DataView-more.js │ │ ├── DataViewTransition.js │ │ ├── FieldLabeler.js │ │ ├── FieldReplicator.js │ │ ├── Focus.js │ │ ├── GMapPanel.js │ │ ├── GroupSummary.js │ │ ├── GroupTab.js │ │ ├── GroupTabPanel.js │ │ ├── ItemSelector.js │ │ ├── LockingGridView.js │ │ ├── MultiSelect.js │ │ ├── PagingMemoryProxy.js │ │ ├── PanelResizer.js │ │ ├── Portal.js │ │ ├── PortalColumn.js │ │ ├── Portlet.js │ │ ├── ProgressBarPager.js │ │ ├── Reorderer.js │ │ ├── RowEditor.js │ │ ├── RowExpander.js │ │ ├── RowLayout.js │ │ ├── SearchField.js │ │ ├── SelectBox.js │ │ ├── SlidingPager.js │ │ ├── Spinner.js │ │ ├── SpinnerField.js │ │ ├── Spotlight.js │ │ ├── TabCloseMenu.js │ │ ├── TabScrollerMenu.js │ │ ├── TableGrid.js │ │ ├── ToolbarDroppable.js │ │ ├── ToolbarReorderer.js │ │ ├── XmlTreeLoader.js │ │ ├── css/ │ │ │ ├── CenterLayout.css │ │ │ ├── ColumnHeaderGroup.css │ │ │ ├── ColumnNodeUI.css │ │ │ ├── GroupSummary.css │ │ │ ├── GroupTab.css │ │ │ ├── LockingGridView.css │ │ │ ├── MultiSelect.css │ │ │ ├── PanelResizer.css │ │ │ ├── Portal.css │ │ │ ├── RowEditor.css │ │ │ ├── Spinner.css │ │ │ └── ux-all.css │ │ ├── fileuploadfield/ │ │ │ ├── FileUploadField.js │ │ │ └── css/ │ │ │ └── fileuploadfield.css │ │ ├── gridfilters/ │ │ │ ├── GridFilters.js │ │ │ ├── css/ │ │ │ │ ├── GridFilters.css │ │ │ │ └── RangeMenu.css │ │ │ ├── filter/ │ │ │ │ ├── BooleanFilter.js │ │ │ │ ├── DateFilter.js │ │ │ │ ├── Filter.js │ │ │ │ ├── ListFilter.js │ │ │ │ ├── NumericFilter.js │ │ │ │ └── StringFilter.js │ │ │ └── menu/ │ │ │ ├── ListMenu.js │ │ │ └── RangeMenu.js │ │ ├── statusbar/ │ │ │ ├── StatusBar.js │ │ │ ├── ValidationStatus.js │ │ │ └── css/ │ │ │ └── statusbar.css │ │ ├── treegrid/ │ │ │ ├── TreeGrid.js │ │ │ ├── TreeGridColumnResizer.js │ │ │ ├── TreeGridColumns.js │ │ │ ├── TreeGridLoader.js │ │ │ ├── TreeGridNodeUI.js │ │ │ ├── TreeGridSorter.js │ │ │ └── treegrid.css │ │ ├── ux-all-debug.js │ │ └── ux-all.js │ ├── index.html │ ├── js/ │ │ ├── BufferView.js │ │ ├── ColumnHeaderGroup.js │ │ ├── Env.js.example │ │ ├── ExportButton.js │ │ ├── FileSaver.js │ │ ├── FileUploadField.js │ │ ├── LockingGridView.js │ │ ├── MessageBox.js │ │ ├── RowEditor.js │ │ ├── RowExpander.js │ │ ├── SM/ │ │ │ ├── Acl.js │ │ │ ├── ActivityHandler.js │ │ │ ├── Ajax.js │ │ │ ├── ApiState.js │ │ │ ├── AppData.js │ │ │ ├── AppInfo.js │ │ │ ├── AssetSelection.js │ │ │ ├── Attachments.js │ │ │ ├── BatchReview.js │ │ │ ├── Cache.js │ │ │ ├── Checklist.js │ │ │ ├── Classification.js │ │ │ ├── CollectionClone.js │ │ │ ├── CollectionPanel.js │ │ │ ├── ColumnFilters.js │ │ │ ├── Error.js │ │ │ ├── EventDispatcher.js │ │ │ ├── Exports.js │ │ │ ├── FindingsPanel.js │ │ │ ├── FlexboxLayout.js │ │ │ ├── Global.js │ │ │ ├── Grant.js │ │ │ ├── Inventory.js │ │ │ ├── Job.js │ │ │ ├── Library.js │ │ │ ├── LogStream.js │ │ │ ├── MainPanel.js │ │ │ ├── Manage.js │ │ │ ├── MetaPanel.js │ │ │ ├── NavTree.js │ │ │ ├── Review.js │ │ │ ├── ReviewsImport.js │ │ │ ├── RowEditorToolbar.js │ │ │ ├── SelectingGridToolbar.js │ │ │ ├── ServiceWorker.js │ │ │ ├── StackTrace.js │ │ │ ├── State.js │ │ │ ├── StigRevision.js │ │ │ ├── TipContent.js │ │ │ ├── TransferAssets.js │ │ │ ├── User.js │ │ │ ├── UserGroup.js │ │ │ └── WhatsNew.js │ │ ├── collectionAdmin.js │ │ ├── collectionManager.js │ │ ├── collectionReview.js │ │ ├── completionStatus.js │ │ ├── diff.js │ │ ├── findingsSummary.js │ │ ├── init.js │ │ ├── jsonview.bundle.js │ │ ├── library.js │ │ ├── modules/ │ │ │ ├── package.json │ │ │ └── source-map/ │ │ │ ├── mappings.wasm │ │ │ └── source-map.js │ │ ├── overrides.js │ │ ├── resources-dist.js │ │ ├── resources.js │ │ ├── review.js │ │ ├── stigAdmin.js │ │ ├── stigman.js │ │ ├── stigmanUtils.js │ │ └── workers/ │ │ ├── oidc-worker.js │ │ ├── service-worker.js │ │ └── state-worker.js │ └── reauth.html ├── data/ │ ├── appdata/ │ │ └── README.md │ └── schemas/ │ ├── Stigman-Model.mwb │ └── _manifest.json ├── docker-build.sh ├── docs/ │ ├── .nojekyll │ ├── Dockerfile │ ├── Makefile │ ├── STIG-Manager-OSS.ckl │ ├── _build/ │ │ ├── .gitignore │ │ └── html/ │ │ └── .gitignore │ ├── _static/ │ │ └── css/ │ │ ├── custom-pydata-theme.css │ │ └── custom.css │ ├── admin-guide/ │ │ ├── admin-guide.rst │ │ ├── admin-quickstart.rst │ │ └── index.rst │ ├── build.sh │ ├── conf.py │ ├── features/ │ │ ├── common-tasks.rst │ │ └── index.rst │ ├── index.html │ ├── index.rst │ ├── installation-and-setup/ │ │ ├── authentication.rst │ │ ├── data-and-permissions.rst │ │ ├── db.rst │ │ ├── environment-variables.rst │ │ ├── envvars-node.csv │ │ ├── envvars.csv │ │ ├── index.rst │ │ ├── installation-and-setup.rst │ │ ├── logging.rst │ │ ├── reverse-proxy.rst │ │ ├── securing.rst │ │ └── stigman-asd-full.csv │ ├── make.bat │ ├── reference/ │ │ └── index.rst │ ├── requirements.txt │ ├── the-project/ │ │ ├── DockerHub_Readme.md │ │ ├── clients.rst │ │ ├── contributing.rst │ │ ├── documentation.rst │ │ ├── examples.rst │ │ ├── index.rst │ │ ├── project-description.rst │ │ ├── related-repos.rst │ │ ├── requirements-and-dependencies.rst │ │ └── testing.rst │ └── user-guide/ │ ├── Stig-Manager-Asset-Batch-Import.csv │ ├── index.rst │ ├── republished-rules.csv │ ├── review-handling.rst │ ├── roles-and-access.rst │ ├── rule-exceptions.rst │ ├── user-guide.rst │ └── user-quickstart.rst ├── release-notes.rst ├── root.json └── test/ ├── api/ │ ├── README.md │ ├── appdata/ │ │ ├── appdata-meta-metrics-with-pin.jsonl │ │ ├── appdata.jsonl │ │ ├── batch-test-data.jsonl │ │ ├── user-status-get-post.jsonl │ │ └── user-status-patch-put.jsonl │ ├── dark.css │ ├── form-data-files/ │ │ ├── U_MS_Windows_10_STIG_V1R23_Manual-xccdf.xml │ │ ├── U_RHEL_7_STIG_V3R0-3_Manual-xccdf.xml │ │ ├── U_VPN_SRG-OTHER_V1R1_Manual-xccdf.xml │ │ ├── U_VPN_SRG-OTHER_V1R1_twoRules-matchingFingerprints.xml │ │ ├── U_VPN_SRG_V1R0_Manual-xccdf.xml │ │ ├── U_VPN_SRG_V1R1_Manual-xccdf-replace.xml │ │ ├── U_VPN_SRG_V1R1_Manual-xccdf.xml │ │ └── U_VPN_SRG_V2R3_Manual-xccdf-reviewKeyChange.xml │ ├── mocha/ │ │ ├── cross-boundary/ │ │ │ └── lvl1.test.js │ │ ├── data/ │ │ │ ├── acl/ │ │ │ │ ├── directAcl.test.js │ │ │ │ ├── directIterations.js │ │ │ │ ├── groupAcl.test.js │ │ │ │ ├── groupIterations.js │ │ │ │ └── referenceData.js │ │ │ ├── asset/ │ │ │ │ ├── assetDelete.test.js │ │ │ │ ├── assetGet.test.js │ │ │ │ ├── assetPatch.test.js │ │ │ │ ├── assetPost.test.js │ │ │ │ ├── assetPut.test.js │ │ │ │ ├── expectations.js │ │ │ │ └── requestBodies.js │ │ │ ├── collection/ │ │ │ │ ├── collectionDelete.test.js │ │ │ │ ├── collectionGet.test.js │ │ │ │ ├── collectionPatch.test.js │ │ │ │ ├── collectionPost.test.js │ │ │ │ ├── collectionPut.test.js │ │ │ │ ├── expectations.js │ │ │ │ └── requestBodies.js │ │ │ ├── metrics/ │ │ │ │ ├── expectations.js │ │ │ │ ├── metaMetricsGet.json │ │ │ │ ├── metaMetricsGet.test.js │ │ │ │ ├── metricsGet.json │ │ │ │ └── metricsGet.test.js │ │ │ ├── operation/ │ │ │ │ └── op.test.js │ │ │ ├── review/ │ │ │ │ ├── expectations.js │ │ │ │ ├── requestBodies.js │ │ │ │ ├── reviewDelete.test.js │ │ │ │ ├── reviewGet.test.js │ │ │ │ ├── reviewPatch.test.js │ │ │ │ ├── reviewPost.test.js │ │ │ │ └── reviewPut.test.js │ │ │ ├── stig/ │ │ │ │ ├── expectations.js │ │ │ │ └── stigs.test.js │ │ │ ├── user/ │ │ │ │ ├── expectations.js │ │ │ │ ├── requestBodies.js │ │ │ │ └── user.test.js │ │ │ └── user-group/ │ │ │ ├── requestBodies.js │ │ │ └── user-group.test.js │ │ ├── integration/ │ │ │ ├── access.test.js │ │ │ ├── aclResolution.test.js │ │ │ ├── asset.test.js │ │ │ ├── collection.test.js │ │ │ ├── deleteHandling.test.js │ │ │ ├── expectations.js │ │ │ ├── grantChange.test.js │ │ │ ├── job.test.js │ │ │ ├── logStream.test.js │ │ │ ├── metrics.test.js │ │ │ ├── resultEngine.test.js │ │ │ ├── review.test.js │ │ │ ├── revisionPinning.test.js │ │ │ ├── roleResolution.test.js │ │ │ ├── stig.test.js │ │ │ └── userStatus.test.js │ │ ├── iterations.js │ │ ├── referenceData.js │ │ ├── security/ │ │ │ └── reviewCrossCollectionWrite.test.js │ │ ├── testConfig.js │ │ └── utils/ │ │ └── testUtils.js │ ├── mock-keycloak/ │ │ └── auth/ │ │ └── realms/ │ │ └── stigman/ │ │ ├── .well-known/ │ │ │ └── openid-configuration │ │ └── protocol/ │ │ └── openid-connect/ │ │ └── certs │ ├── mock-keycloak-test-cases/ │ │ ├── no-jwks/ │ │ │ └── auth/ │ │ │ └── realms/ │ │ │ └── stigman/ │ │ │ ├── .well-known/ │ │ │ │ └── openid-configuration │ │ │ └── protocol/ │ │ │ └── openid-connect/ │ │ │ └── certs │ │ └── secure-kid/ │ │ └── auth/ │ │ └── realms/ │ │ └── stigman/ │ │ ├── .well-known/ │ │ │ └── openid-configuration │ │ └── protocol/ │ │ └── openid-connect/ │ │ └── certs │ ├── package.json │ └── runMocha.sh ├── state/ │ ├── drop-db.sh │ ├── mocha/ │ │ ├── bootstrap.test.js │ │ ├── db.test.js │ │ ├── jwks.test.js │ │ ├── lib.js │ │ ├── oidc.test.js │ │ └── tokenValidation.test.js │ └── package.json ├── unit/ │ ├── mocha/ │ │ └── asyncApiValidator.test.js │ └── package.json └── utils/ ├── appdata-update.js ├── mockOidc.js └── package.json