| Default | 14433 | 891 | 15324 | 50909 | 94.1% | | 11148 | 12829 | 86.8% | |
| src/accountlinking/classifier.js | 141 | 0 | 141 | 521 | 100% | | 157 | 158 | 99.3% | |
| src/accountlinking/defaultRules.js | 2 | 0 | 2 | 40 | 100% | | 0 | 0 | | |
| src/accountlinking/engine.helpers.js | 80 | 0 | 80 | 284 | 100% | | 79 | 79 | 100% | |
| src/accountlinking/engine.js | 131 | 8 | 139 | 505 | 94.2% | | 117 | 125 | 93.6% | |
| src/accountlinking/guardEvidence.js | 30 | 0 | 30 | 138 | 100% | | 28 | 29 | 96.5% | |
| src/accountlinking/initials.js | 23 | 0 | 23 | 135 | 100% | | 36 | 37 | 97.2% | |
| src/accountlinking/nameClaim.js | 62 | 0 | 62 | 327 | 100% | | 54 | 55 | 98.1% | |
| src/accountlinking/nameKeys.js | 14 | 0 | 14 | 74 | 100% | | 10 | 10 | 100% | |
| src/accountlinking/orphanQuery.js | 10 | 0 | 10 | 111 | 100% | | 3 | 3 | 100% | |
| src/accountlinking/rulesMerge.js | 10 | 0 | 10 | 79 | 100% | | 8 | 8 | 100% | |
| src/accountlinking/staleNameOnlyLinks.js | 25 | 0 | 25 | 170 | 100% | | 17 | 18 | 94.4% | |
| src/app.js | 97 | 7 | 104 | 474 | 93.2% | | 30 | 52 | 57.6% | |
| src/auth/permissionManifest.js | 3 | 0 | 3 | 69 | 100% | | 0 | 0 | | |
| src/auth/permissions.js | 17 | 0 | 17 | 100 | 100% | | 10 | 10 | 100% | |
| src/auth/readTokens.js | 29 | 0 | 29 | 115 | 100% | | 19 | 19 | 100% | |
| src/auth/resolveMe.js | 32 | 0 | 32 | 131 | 100% | | 34 | 34 | 100% | |
| src/auth/shareTokens.js | 4 | 0 | 4 | 32 | 100% | | 3 | 3 | 100% | |
| src/bootstrap.js | 62 | 83 | 145 | 419 | 42.7% | | 26 | 52 | 50% | |
| src/cli/auth-config.js | 75 | 7 | 82 | 211 | 91.4% | | 56 | 60 | 93.3% | |
| src/cli/rotate-master-key.js | 42 | 4 | 46 | 109 | 91.3% | | 22 | 23 | 95.6% | |
| src/config/authConfig.js | 49 | 8 | 57 | 232 | 85.9% | | 41 | 55 | 74.5% | |
| src/config/fileSecrets.js | 13 | 0 | 13 | 48 | 100% | | 12 | 12 | 100% | |
| src/config/loadFileSecrets.js | 2 | 0 | 2 | 8 | 100% | | 2 | 2 | 100% | |
| src/contextAssistant/prompt.js | 16 | 0 | 16 | 128 | 100% | | 3 | 4 | 75% | |
| src/contextAssistant/service.js | 42 | 0 | 42 | 180 | 100% | | 39 | 46 | 84.7% | |
| src/contexts/assignmentCounts.js | 14 | 0 | 14 | 106 | 100% | | 4 | 4 | 100% | |
| src/contexts/contextFilters.js | 35 | 1 | 36 | 134 | 97.2% | | 26 | 32 | 81.2% | |
| src/contexts/cycleGuard.js | 6 | 0 | 6 | 73 | 100% | | 4 | 4 | 100% | |
| src/contexts/memberCounts.js | 11 | 0 | 11 | 68 | 100% | | 5 | 5 | 100% | |
| src/contexts/plugins/ad-ou-from-dn.js | 29 | 18 | 47 | 130 | 61.7% | | 17 | 26 | 65.3% | |
| src/contexts/plugins/context-recipe.js | 26 | 0 | 26 | 101 | 100% | | 12 | 15 | 80% | |
| src/contexts/plugins/department-from-principal.js | 19 | 0 | 19 | 72 | 100% | | 14 | 14 | 100% | |
| src/contexts/plugins/entra-group-category-tree.js | 26 | 0 | 26 | 74 | 100% | | 19 | 21 | 90.4% | |
| src/contexts/plugins/manager-hierarchy.helpers.js | 53 | 0 | 53 | 132 | 100% | | 52 | 52 | 100% | |
| src/contexts/plugins/manager-hierarchy.js | 28 | 0 | 28 | 159 | 100% | | 11 | 14 | 78.5% | |
| src/contexts/plugins/orphaned-accounts.js | 15 | 0 | 15 | 59 | 100% | | 2 | 2 | 100% | |
| src/contexts/plugins/principal-type-tree.js | 33 | 0 | 33 | 98 | 100% | | 29 | 30 | 96.6% | |
| src/contexts/plugins/registry.js | 2 | 0 | 2 | 42 | 100% | | 2 | 2 | 100% | |
| src/contexts/plugins/resource-cluster/index.js | 30 | 0 | 30 | 134 | 100% | | 16 | 18 | 88.8% | |
| src/contexts/plugins/resource-cluster/tokenize.js | 28 | 0 | 28 | 128 | 100% | | 19 | 20 | 95% | |
| src/contexts/plugins/resource-type-tree.js | 69 | 6 | 75 | 188 | 92% | | 47 | 49 | 95.9% | |
| src/contexts/plugins/risky-consent.js | 68 | 4 | 72 | 213 | 94.4% | | 43 | 56 | 76.7% | |
| src/contexts/plugins/riskyAppFeed.js | 35 | 0 | 35 | 86 | 100% | | 31 | 33 | 93.9% | |
| src/contexts/plugins/riskyConsentRiskMap.js | 16 | 0 | 16 | 106 | 100% | | 21 | 23 | 91.3% | |
| src/contexts/plugins/runner.helpers.js | 16 | 0 | 16 | 37 | 100% | | 6 | 6 | 100% | |
| src/contexts/plugins/runner.js | 86 | 24 | 110 | 398 | 78.1% | | 59 | 89 | 66.2% | |
| src/contexts/plugins/scope-hierarchy.js | 34 | 2 | 36 | 114 | 94.4% | | 28 | 34 | 82.3% | |
| src/contexts/plugins/system-membership-principals.js | 2 | 0 | 2 | 34 | 100% | | 0 | 0 | | |
| src/contexts/plugins/system-membership-resources.js | 2 | 0 | 2 | 33 | 100% | | 0 | 0 | | |
| src/contexts/plugins/system-membership.helpers.js | 23 | 0 | 23 | 71 | 100% | | 14 | 15 | 93.3% | |
| src/contexts/plugins/types.js | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| src/contexts/recipe/matches.js | 61 | 0 | 61 | 178 | 100% | | 33 | 35 | 94.2% | |
| src/contexts/recipe/recipe.js | 60 | 0 | 60 | 168 | 100% | | 63 | 65 | 96.9% | |
| src/contexts/recipe/relatedWords.js | 30 | 0 | 30 | 80 | 100% | | 21 | 23 | 91.3% | |
| src/contexts/seedAlgorithms.js | 8 | 0 | 8 | 48 | 100% | | 6 | 10 | 60% | |
| src/crawlerManifests.js | 37 | 1 | 38 | 130 | 97.3% | | 26 | 29 | 89.6% | |
| src/db/__mocks__/connection.js | 0 | 5 | 5 | 29 | 0% | | 0 | 0 | | |
| src/db/columnCache.js | 115 | 0 | 115 | 443 | 100% | | 64 | 68 | 94.1% | |
| src/db/connection.js | 34 | 25 | 59 | 158 | 57.6% | | 23 | 49 | 46.9% | |
| src/db/connectionDefaults.js | 7 | 0 | 7 | 30 | 100% | | 10 | 10 | 100% | |
| src/db/matrixHelpers.js | 17 | 0 | 17 | 70 | 100% | | 28 | 28 | 100% | |
| src/db/migrate.js | 16 | 29 | 45 | 155 | 35.5% | | 5 | 11 | 45.4% | |
| src/db/queryHelpers.js | 5 | 0 | 5 | 43 | 100% | | 0 | 0 | | |
| src/db/schemaErrors.js | 2 | 0 | 2 | 19 | 100% | | 2 | 2 | 100% | |
| src/db/sqlParams.js | 7 | 0 | 7 | 47 | 100% | | 0 | 0 | | |
| src/db/valueCache.js | 35 | 0 | 35 | 114 | 100% | | 23 | 23 | 100% | |
| src/docs/docsStructure.js | 98 | 2 | 100 | 237 | 98% | | 51 | 64 | 79.6% | |
| src/effectiveAccess/engine.helpers.js | 42 | 0 | 42 | 108 | 100% | | 46 | 46 | 100% | |
| src/effectiveAccess/engine.js | 118 | 0 | 118 | 405 | 100% | | 65 | 74 | 87.8% | |
| src/effectiveAccess/lru.js | 12 | 0 | 12 | 33 | 100% | | 4 | 4 | 100% | |
| src/effectiveAccess/policies.js | 23 | 0 | 23 | 88 | 100% | | 30 | 30 | 100% | |
| src/export/excelWorkbook.js | 62 | 0 | 62 | 166 | 100% | | 6 | 6 | 100% | |
| src/export/exportBaseUrl.js | 17 | 0 | 17 | 63 | 100% | | 20 | 21 | 95.2% | |
| src/export/queryTemplates.js | 10 | 0 | 10 | 195 | 100% | | 4 | 4 | 100% | |
| src/featureFlags.js | 30 | 0 | 30 | 113 | 100% | | 26 | 26 | 100% | |
| src/ingest/crawlerPresence.js | 22 | 0 | 22 | 83 | 100% | | 25 | 25 | 100% | |
| src/ingest/deleteByKeys.js | 49 | 0 | 49 | 120 | 100% | | 48 | 49 | 97.9% | |
| src/ingest/engine.js | 130 | 3 | 133 | 453 | 97.7% | | 118 | 125 | 94.4% | |
| src/ingest/initialLoad.js | 16 | 0 | 16 | 64 | 100% | | 16 | 16 | 100% | |
| src/ingest/managerLinks.js | 17 | 0 | 17 | 109 | 100% | | 33 | 33 | 100% | |
| src/ingest/normalization.js | 84 | 3 | 87 | 302 | 96.5% | | 81 | 85 | 95.2% | |
| src/ingest/reconcileStale.js | 36 | 0 | 36 | 126 | 100% | | 43 | 47 | 91.4% | |
| src/ingest/sessions.js | 78 | 17 | 95 | 256 | 82.1% | | 57 | 70 | 81.4% | |
| src/ingest/stages.js | 147 | 1 | 148 | 403 | 99.3% | | 114 | 121 | 94.2% | |
| src/ingest/systemBoundary.js | 49 | 0 | 49 | 224 | 100% | | 53 | 53 | 100% | |
| src/ingest/tempTableHelpers.js | 18 | 0 | 18 | 43 | 100% | | 10 | 10 | 100% | |
| src/ingest/tombstonePurge.js | 7 | 0 | 7 | 28 | 100% | | 6 | 6 | 100% | |
| src/ingest/validation.helpers.js | 81 | 0 | 81 | 238 | 100% | | 107 | 107 | 100% | |
| src/ingest/validation.js | 24 | 0 | 24 | 491 | 100% | | 11 | 11 | 100% | |
| src/ingest/viewRefresh.js | 47 | 0 | 47 | 109 | 100% | | 25 | 25 | 100% | |
| src/lib/attributeLabels.js | 69 | 0 | 69 | 210 | 100% | | 59 | 61 | 96.7% | |
| src/lib/capabilityId.js | 7 | 0 | 7 | 51 | 100% | | 8 | 8 | 100% | |
| src/lib/cappedBody.js | 16 | 0 | 16 | 30 | 100% | | 11 | 11 | 100% | |
| src/lib/crawlerAuditLogCap.js | 8 | 0 | 8 | 39 | 100% | | 15 | 15 | 100% | |
| src/lib/crawlerJobQueue.js | 9 | 0 | 9 | 59 | 100% | | 9 | 9 | 100% | |
| src/lib/dateOnly.js | 3 | 0 | 3 | 13 | 100% | | 9 | 9 | 100% | |
| src/lib/entitySearch.js | 58 | 0 | 58 | 155 | 100% | | 76 | 78 | 97.4% | |
| src/lib/extKeys.js | 11 | 0 | 11 | 58 | 100% | | 13 | 13 | 100% | |
| src/lib/httpJson.js | 22 | 0 | 22 | 62 | 100% | | 11 | 13 | 84.6% | |
| src/lib/jobConfig.js | 4 | 0 | 4 | 25 | 100% | | 6 | 6 | 100% | |
| src/lib/jsonb.js | 5 | 0 | 5 | 19 | 100% | | 4 | 4 | 100% | |
| src/lib/lastSignInFilter.js | 13 | 0 | 13 | 67 | 100% | | 14 | 14 | 100% | |
| src/lib/listParams.js | 8 | 0 | 8 | 18 | 100% | | 8 | 8 | 100% | |
| src/lib/listSort.js | 5 | 0 | 5 | 34 | 100% | | 9 | 9 | 100% | |
| src/lib/oneLineForLog.js | 1 | 0 | 1 | 12 | 100% | | 2 | 2 | 100% | |
| src/lib/ownershipTypes.js | 5 | 0 | 5 | 50 | 100% | | 0 | 0 | | |
| src/lib/principalActivity.js | 7 | 0 | 7 | 70 | 100% | | 3 | 3 | 100% | |
| src/lib/principalTypes.js | 1 | 0 | 1 | 6 | 100% | | 0 | 0 | | |
| src/lib/referenceFilters.js | 55 | 0 | 55 | 226 | 100% | | 44 | 44 | 100% | |
| src/lib/resourceVisibility.js | 11 | 0 | 11 | 55 | 100% | | 10 | 10 | 100% | |
| src/lib/serializedRunner.js | 20 | 0 | 20 | 49 | 100% | | 13 | 13 | 100% | |
| src/lib/ssrfGuard.js | 81 | 0 | 81 | 195 | 100% | | 116 | 121 | 95.8% | |
| src/lib/syncVersion.js | 7 | 0 | 7 | 46 | 100% | | 7 | 8 | 87.5% | |
| src/lib/systemFilter.js | 11 | 0 | 11 | 58 | 100% | | 12 | 12 | 100% | |
| src/lib/throttledTouch.js | 11 | 0 | 11 | 40 | 100% | | 8 | 9 | 88.8% | |
| src/lib/uploadCapacity.js | 30 | 0 | 30 | 87 | 100% | | 32 | 33 | 96.9% | |
| src/llm/providers.js | 66 | 79 | 145 | 382 | 45.5% | | 69 | 174 | 39.6% | |
| src/llm/riskPrompts.js | 35 | 2 | 37 | 250 | 94.5% | | 21 | 26 | 80.7% | |
| src/llm/scraper.js | 69 | 10 | 79 | 233 | 87.3% | | 47 | 59 | 79.6% | |
| src/llm/service.js | 28 | 25 | 53 | 162 | 52.8% | | 18 | 47 | 38.2% | |
| src/lookups/registry.js | 8 | 0 | 8 | 36 | 100% | | 4 | 4 | 100% | |
| src/lookups/sources/access-review-fields.js | 28 | 0 | 28 | 111 | 100% | | 21 | 23 | 91.3% | |
| src/lookups/sources/application-permissions.js | 13 | 0 | 13 | 72 | 100% | | 16 | 16 | 100% | |
| src/lookups/sources/index.js | 1 | 0 | 1 | 13 | 100% | | 0 | 0 | | |
| src/lookups/sources/resource-contexts.js | 12 | 0 | 12 | 68 | 100% | | 9 | 9 | 100% | |
| src/lookups/types.js | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| src/matrix/attrExpr.js | 9 | 0 | 9 | 33 | 100% | | 14 | 14 | 100% | |
| src/matrix/attributeCut.js | 33 | 0 | 33 | 138 | 100% | | 22 | 25 | 88% | |
| src/matrix/contextRollup.js | 35 | 0 | 35 | 263 | 100% | | 42 | 44 | 95.4% | |
| src/matrix/filterSql.js | 75 | 7 | 82 | 238 | 91.4% | | 68 | 82 | 82.9% | |
| src/matrix/inheritedAccess.js | 164 | 0 | 164 | 432 | 100% | | 86 | 110 | 78.1% | |
| src/matrix/resourceContexts.js | 15 | 0 | 15 | 62 | 100% | | 13 | 13 | 100% | |
| src/matrix/rollupBuilders.js | 22 | 0 | 22 | 130 | 100% | | 24 | 24 | 100% | |
| src/matrix/scopeHistory.js | 76 | 0 | 76 | 345 | 100% | | 73 | 75 | 97.3% | |
| src/middleware/auth.js | 63 | 5 | 68 | 215 | 92.6% | | 48 | 56 | 85.7% | |
| src/middleware/crawlerAuth.helpers.js | 10 | 0 | 10 | 53 | 100% | | 18 | 18 | 100% | |
| src/middleware/crawlerAuth.js | 74 | 2 | 76 | 218 | 97.3% | | 49 | 57 | 85.9% | |
| src/middleware/crawlerAuthFailureLimiter.js | 23 | 0 | 23 | 64 | 100% | | 19 | 19 | 100% | |
| src/middleware/perfMetrics.js | 19 | 4 | 23 | 79 | 82.6% | | 8 | 12 | 66.6% | |
| src/middleware/rateLimitKeys.js | 21 | 0 | 21 | 58 | 100% | | 32 | 32 | 100% | |
| src/middleware/requestOriginGuard.js | 68 | 0 | 68 | 185 | 100% | | 63 | 64 | 98.4% | |
| src/mock/data.js | 55 | 0 | 55 | 185 | 100% | | 17 | 18 | 94.4% | |
| src/nlreports/assistantHttp.js | 48 | 3 | 51 | 140 | 94.1% | | 51 | 54 | 94.4% | |
| src/nlreports/autofix.activity.js | 50 | 0 | 50 | 155 | 100% | | 89 | 110 | 80.9% | |
| src/nlreports/autofix.followup.js | 26 | 0 | 26 | 58 | 100% | | 40 | 48 | 83.3% | |
| src/nlreports/autofix.js | 252 | 1 | 253 | 702 | 99.6% | | 364 | 408 | 89.2% | |
| src/nlreports/caller.js | 5 | 6 | 11 | 139 | 45.4% | | 3 | 19 | 15.7% | |
| src/nlreports/catalog.js | 87 | 0 | 87 | 784 | 100% | | 2 | 2 | 100% | |
| src/nlreports/compare.js | 88 | 7 | 95 | 210 | 92.6% | | 61 | 77 | 79.2% | |
| src/nlreports/compile.js | 110 | 1 | 111 | 295 | 99% | | 96 | 98 | 97.9% | |
| src/nlreports/contradictions.js | 59 | 0 | 59 | 181 | 100% | | 81 | 86 | 94.1% | |
| src/nlreports/conversations.js | 20 | 10 | 30 | 268 | 66.6% | | 57 | 76 | 75% | |
| src/nlreports/explain.js | 39 | 5 | 44 | 106 | 88.6% | | 36 | 42 | 85.7% | |
| src/nlreports/extFields.js | 44 | 0 | 44 | 176 | 100% | | 31 | 34 | 91.1% | |
| src/nlreports/followUp.js | 83 | 0 | 83 | 346 | 100% | | 131 | 145 | 90.3% | |
| src/nlreports/language.js | 8 | 0 | 8 | 47 | 100% | | 11 | 11 | 100% | |
| src/nlreports/llamacpp.js | 50 | 0 | 50 | 179 | 100% | | 49 | 68 | 72% | |
| src/nlreports/llm.js | 8 | 0 | 8 | 25 | 100% | | 2 | 7 | 28.5% | |
| src/nlreports/ollama.js | 20 | 4 | 24 | 79 | 83.3% | | 25 | 33 | 75.7% | |
| src/nlreports/prompt.js | 42 | 0 | 42 | 391 | 100% | | 14 | 14 | 100% | |
| src/nlreports/references.js | 94 | 3 | 97 | 238 | 96.9% | | 81 | 85 | 95.2% | |
| src/nlreports/savedReports.js | 55 | 2 | 57 | 151 | 96.4% | | 55 | 60 | 91.6% | |
| src/nlreports/sentinels.js | 16 | 0 | 16 | 94 | 100% | | 33 | 34 | 97% | |
| src/nlreports/service.js | 212 | 1 | 213 | 652 | 99.5% | | 217 | 243 | 89.3% | |
| src/nlreports/settings.js | 4 | 1 | 5 | 21 | 80% | | 4 | 4 | 100% | |
| src/nlreports/spec.js | 195 | 5 | 200 | 473 | 97.5% | | 216 | 236 | 91.5% | |
| src/nlreports/state.js | 25 | 0 | 25 | 103 | 100% | | 12 | 12 | 100% | |
| src/nlreports/terms.js | 122 | 0 | 122 | 324 | 100% | | 129 | 133 | 96.9% | |
| src/nlreports/warmup.js | 24 | 0 | 24 | 87 | 100% | | 14 | 15 | 93.3% | |
| src/perf/collector.js | 54 | 0 | 54 | 139 | 100% | | 14 | 16 | 87.5% | |
| src/perf/sqlTimer.js | 12 | 0 | 12 | 35 | 100% | | 9 | 11 | 81.8% | |
| src/postCrawlJobs.js | 1 | 7 | 8 | 28 | 12.5% | | 0 | 1 | 0% | |
| src/reports/accessReviewFields.js | 46 | 0 | 46 | 130 | 100% | | 42 | 42 | 100% | |
| src/reports/activityWindow.js | 27 | 0 | 27 | 187 | 100% | | 17 | 17 | 100% | |
| src/reports/appPermissionRisk.js | 21 | 0 | 21 | 137 | 100% | | 18 | 18 | 100% | |
| src/reports/appRiskData.js | 38 | 0 | 38 | 168 | 100% | | 51 | 53 | 96.2% | |
| src/reports/appRiskPermissions.js | 15 | 0 | 15 | 61 | 100% | | 16 | 16 | 100% | |
| src/reports/appRiskRules.js | 112 | 0 | 112 | 312 | 100% | | 143 | 152 | 94% | |
| src/reports/export.js | 98 | 0 | 98 | 320 | 100% | | 73 | 82 | 89% | |
| src/reports/humanReview.js | 12 | 0 | 12 | 86 | 100% | | 11 | 11 | 100% | |
| src/reports/registry.js | 20 | 0 | 20 | 78 | 100% | | 24 | 24 | 100% | |
| src/reports/templates/access-outside-roles.js | 9 | 0 | 9 | 76 | 100% | | 6 | 6 | 100% | |
| src/reports/templates/access-review-adoption.js | 56 | 0 | 56 | 390 | 100% | | 80 | 85 | 94.1% | |
| src/reports/templates/access-reviewer-response.js | 58 | 0 | 58 | 298 | 100% | | 59 | 59 | 100% | |
| src/reports/templates/application-access-review.js | 118 | 0 | 118 | 530 | 100% | | 62 | 70 | 88.5% | |
| src/reports/templates/disabled-accounts-with-access.js | 4 | 0 | 4 | 52 | 100% | | 0 | 0 | | |
| src/reports/templates/empty-groups.js | 4 | 0 | 4 | 53 | 100% | | 0 | 0 | | |
| src/reports/templates/high-risk-application-permissions.js | 35 | 0 | 35 | 202 | 100% | | 39 | 42 | 92.8% | |
| src/reports/templates/index.js | 1 | 0 | 1 | 24 | 100% | | 0 | 0 | | |
| src/reports/templates/missing-managers.js | 5 | 0 | 5 | 68 | 100% | | 0 | 0 | | |
| src/reports/templates/never-signed-in.js | 6 | 0 | 6 | 58 | 100% | | 0 | 0 | | |
| src/reports/templates/orphaned-accounts.js | 5 | 0 | 5 | 45 | 100% | | 0 | 0 | | |
| src/reports/templates/privileged-accounts.js | 7 | 0 | 7 | 88 | 100% | | 4 | 4 | 100% | |
| src/reports/templates/risky-applications.js | 44 | 0 | 44 | 172 | 100% | | 53 | 62 | 85.4% | |
| src/reports/templates/stale-accounts.js | 6 | 0 | 6 | 57 | 100% | | 0 | 0 | | |
| src/reports/templates/stale-guest-accounts.js | 13 | 0 | 13 | 89 | 100% | | 11 | 11 | 100% | |
| src/reports/types.js | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| src/reports/views.js | 65 | 0 | 65 | 181 | 100% | | 81 | 82 | 98.7% | |
| src/reports/xlsxCharts.js | 79 | 0 | 79 | 177 | 100% | | 41 | 45 | 91.1% | |
| src/reports/xlsxPivots.js | 115 | 0 | 115 | 276 | 100% | | 79 | 80 | 98.7% | |
| src/riskscoring/engine.helpers.js | 61 | 0 | 61 | 128 | 100% | | 41 | 43 | 95.3% | |
| src/riskscoring/engine.js | 249 | 32 | 281 | 877 | 88.6% | | 140 | 184 | 76% | |
| src/riskscoring/scoringRunGuard.js | 2 | 0 | 2 | 16 | 100% | | 0 | 0 | | |
| src/riskscoring/tiers.js | 6 | 0 | 6 | 17 | 100% | | 10 | 10 | 100% | |
| src/routes/accountLinking.js | 53 | 1 | 54 | 132 | 98.1% | | 32 | 36 | 88.8% | |
| src/routes/admin.js | 6 | 0 | 6 | 28 | 100% | | 0 | 0 | | |
| src/routes/admin/curatedData.js | 37 | 0 | 37 | 95 | 100% | | 15 | 15 | 100% | |
| src/routes/admin/curatedExport.js | 26 | 0 | 26 | 92 | 100% | | 17 | 18 | 94.4% | |
| src/routes/admin/curatedImport.js | 82 | 2 | 84 | 214 | 97.6% | | 56 | 70 | 80% | |
| src/routes/admin/dashboard.js | 26 | 2 | 28 | 140 | 92.8% | | 18 | 22 | 81.8% | |
| src/routes/admin/maintenance.js | 72 | 7 | 79 | 220 | 91.1% | | 30 | 35 | 85.7% | |
| src/routes/admin/riskConfig.js | 22 | 0 | 22 | 98 | 100% | | 13 | 19 | 68.4% | |
| src/routes/admin/settings.js | 16 | 2 | 18 | 61 | 88.8% | | 19 | 22 | 86.3% | |
| src/routes/attributeLabels.js | 11 | 0 | 11 | 32 | 100% | | 5 | 6 | 83.3% | |
| src/routes/authRoles.js | 59 | 1 | 60 | 209 | 98.3% | | 45 | 50 | 90% | |
| src/routes/bulkLists.js | 84 | 4 | 88 | 286 | 95.4% | | 36 | 38 | 94.7% | |
| src/routes/categories.js | 147 | 2 | 149 | 408 | 98.6% | | 109 | 119 | 91.5% | |
| src/routes/contextAssistant.js | 87 | 7 | 94 | 199 | 92.5% | | 54 | 65 | 83% | |
| src/routes/contextPlugins.js | 85 | 0 | 85 | 210 | 100% | | 41 | 53 | 77.3% | |
| src/routes/contexts.js | 4 | 0 | 4 | 25 | 100% | | 0 | 0 | | |
| src/routes/contexts/crud.js | 72 | 0 | 72 | 183 | 100% | | 60 | 76 | 78.9% | |
| src/routes/contexts/crudHelpers.js | 37 | 1 | 38 | 80 | 97.3% | | 52 | 56 | 92.8% | |
| src/routes/contexts/members.js | 58 | 0 | 58 | 139 | 100% | | 47 | 58 | 81% | |
| src/routes/contexts/read.js | 97 | 1 | 98 | 333 | 98.9% | | 85 | 96 | 88.5% | |
| src/routes/contexts/shared.js | 4 | 0 | 4 | 17 | 100% | | 0 | 0 | | |
| src/routes/crawlerFiles.js | 139 | 13 | 152 | 373 | 91.4% | | 68 | 84 | 80.9% | |
| src/routes/crawlers.js | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| src/routes/crawlers/admin.js | 92 | 12 | 104 | 268 | 88.4% | | 70 | 82 | 85.3% | |
| src/routes/crawlers/crawlerGuards.js | 15 | 0 | 15 | 46 | 100% | | 12 | 12 | 100% | |
| src/routes/crawlers/selfService.js | 156 | 24 | 180 | 451 | 86.6% | | 109 | 159 | 68.5% | |
| src/routes/crawlers/shared.js | 6 | 0 | 6 | 24 | 100% | | 0 | 0 | | |
| src/routes/dataExport.js | 44 | 0 | 44 | 109 | 100% | | 27 | 28 | 96.4% | |
| src/routes/details.js | 4 | 0 | 4 | 25 | 100% | | 0 | 0 | | |
| src/routes/details/accessPackage.js | 75 | 1 | 76 | 222 | 98.6% | | 17 | 30 | 56.6% | |
| src/routes/details/accessPackageDetail.js | 57 | 0 | 57 | 188 | 100% | | 51 | 61 | 83.6% | |
| src/routes/details/group.js | 44 | 0 | 44 | 120 | 100% | | 11 | 18 | 61.1% | |
| src/routes/details/groupDetail.js | 21 | 0 | 21 | 67 | 100% | | 8 | 12 | 66.6% | |
| src/routes/details/shared.js | 15 | 0 | 15 | 61 | 100% | | 10 | 10 | 100% | |
| src/routes/details/user.js | 88 | 0 | 88 | 277 | 100% | | 29 | 44 | 65.9% | |
| src/routes/details/userActivity.js | 4 | 0 | 4 | 54 | 100% | | 2 | 2 | 100% | |
| src/routes/details/userDetail.js | 54 | 0 | 54 | 182 | 100% | | 20 | 32 | 62.5% | |
| src/routes/effectiveAccess.js | 25 | 4 | 29 | 71 | 86.2% | | 31 | 35 | 88.5% | |
| src/routes/governance.js | 34 | 14 | 48 | 192 | 70.8% | | 20 | 30 | 66.6% | |
| src/routes/identities.js | 4 | 0 | 4 | 24 | 100% | | 0 | 0 | | |
| src/routes/identities/detail.js | 70 | 2 | 72 | 244 | 97.2% | | 23 | 28 | 82.1% | |
| src/routes/identities/detailData.js | 24 | 0 | 24 | 115 | 100% | | 9 | 14 | 64.2% | |
| src/routes/identities/list.js | 47 | 3 | 50 | 168 | 94% | | 16 | 20 | 80% | |
| src/routes/identities/listQuery.js | 55 | 2 | 57 | 153 | 96.4% | | 35 | 40 | 87.5% | |
| src/routes/identities/overrides.js | 23 | 4 | 27 | 67 | 85.1% | | 16 | 18 | 88.8% | |
| src/routes/identities/shared.js | 18 | 0 | 18 | 43 | 100% | | 8 | 8 | 100% | |
| src/routes/ingest.js | 4 | 0 | 4 | 26 | 100% | | 0 | 0 | | |
| src/routes/ingest/dataPlane.js | 30 | 0 | 30 | 82 | 100% | | 53 | 53 | 100% | |
| src/routes/ingest/handlers.js | 141 | 4 | 145 | 375 | 97.2% | | 72 | 84 | 85.7% | |
| src/routes/ingest/helpers.js | 90 | 4 | 94 | 283 | 95.7% | | 116 | 120 | 96.6% | |
| src/routes/ingest/matrixViews.js | 106 | 10 | 116 | 422 | 91.3% | | 67 | 75 | 89.3% | |
| src/routes/ingest/stages.js | 77 | 2 | 79 | 181 | 97.4% | | 46 | 57 | 80.7% | |
| src/routes/jobs.js | 3 | 0 | 3 | 21 | 100% | | 0 | 0 | | |
| src/routes/jobs/configs.js | 83 | 14 | 97 | 204 | 85.5% | | 44 | 61 | 72.1% | |
| src/routes/jobs/helpers.js | 88 | 0 | 88 | 249 | 100% | | 95 | 98 | 96.9% | |
| src/routes/jobs/runs.js | 111 | 20 | 131 | 317 | 84.7% | | 57 | 75 | 76% | |
| src/routes/jobs/urlPolicy.js | 14 | 0 | 14 | 60 | 100% | | 10 | 10 | 100% | |
| src/routes/llm.js | 30 | 32 | 62 | 142 | 48.3% | | 16 | 38 | 42.1% | |
| src/routes/lookups.js | 31 | 0 | 31 | 90 | 100% | | 22 | 26 | 84.6% | |
| src/routes/matrix.js | 86 | 13 | 99 | 284 | 86.8% | | 44 | 68 | 64.7% | |
| src/routes/matrix/data.js | 300 | 9 | 309 | 871 | 97% | | 160 | 195 | 82% | |
| src/routes/matrix/savedFilterHistory.js | 44 | 0 | 44 | 143 | 100% | | 53 | 59 | 89.8% | |
| src/routes/matrix/savedFilters.js | 69 | 12 | 81 | 196 | 85.1% | | 48 | 65 | 73.8% | |
| src/routes/matrix/scope.js | 59 | 33 | 92 | 263 | 64.1% | | 23 | 62 | 37% | |
| src/routes/matrix/shared.js | 81 | 5 | 86 | 366 | 94.1% | | 90 | 98 | 91.8% | |
| src/routes/matrix/shareLinking.js | 7 | 0 | 7 | 46 | 100% | | 2 | 2 | 100% | |
| src/routes/matrix/shareRecipients.js | 22 | 0 | 22 | 86 | 100% | | 25 | 26 | 96.1% | |
| src/routes/matrix/shares.js | 107 | 0 | 107 | 383 | 100% | | 85 | 90 | 94.4% | |
| src/routes/nlReports.js | 142 | 18 | 160 | 452 | 88.7% | | 131 | 154 | 85% | |
| src/routes/orgChart.js | 27 | 0 | 27 | 83 | 100% | | 13 | 16 | 81.2% | |
| src/routes/perf.js | 29 | 0 | 29 | 89 | 100% | | 15 | 18 | 83.3% | |
| src/routes/permissions.js | 5 | 0 | 5 | 26 | 100% | | 0 | 0 | | |
| src/routes/permissions/accessPackages.js | 19 | 2 | 21 | 127 | 90.4% | | 5 | 8 | 62.5% | |
| src/routes/permissions/grid.js | 29 | 0 | 29 | 93 | 100% | | 10 | 10 | 100% | |
| src/routes/permissions/gridQuery.js | 129 | 8 | 137 | 472 | 94.1% | | 63 | 85 | 74.1% | |
| src/routes/permissions/nestedGroups.js | 33 | 0 | 33 | 161 | 100% | | 18 | 20 | 90% | |
| src/routes/permissions/shared.js | 4 | 0 | 4 | 15 | 100% | | 2 | 2 | 100% | |
| src/routes/permissions/syncLog.js | 29 | 0 | 29 | 92 | 100% | | 14 | 14 | 100% | |
| src/routes/permissions/userColumns.js | 24 | 1 | 25 | 76 | 96% | | 16 | 19 | 84.2% | |
| src/routes/preferences.js | 5 | 26 | 31 | 80 | 16.1% | | 0 | 18 | 0% | |
| src/routes/recentChanges.js | 4 | 0 | 4 | 26 | 100% | | 0 | 0 | | |
| src/routes/recentChanges/changes.js | 50 | 0 | 50 | 145 | 100% | | 12 | 16 | 75% | |
| src/routes/recentChanges/classify.js | 84 | 0 | 84 | 175 | 100% | | 114 | 130 | 87.6% | |
| src/routes/recentChanges/diff.js | 41 | 0 | 41 | 122 | 100% | | 24 | 26 | 92.3% | |
| src/routes/recentChanges/shared.js | 30 | 6 | 36 | 109 | 83.3% | | 39 | 52 | 75% | |
| src/routes/recentChanges/snapshot.js | 69 | 2 | 71 | 227 | 97.1% | | 66 | 77 | 85.7% | |
| src/routes/recentChanges/timeline.js | 160 | 6 | 166 | 403 | 96.3% | | 166 | 195 | 85.1% | |
| src/routes/reports.js | 32 | 2 | 34 | 116 | 94.1% | | 19 | 21 | 90.4% | |
| src/routes/reportViews.js | 38 | 0 | 38 | 89 | 100% | | 24 | 30 | 80% | |
| src/routes/resources.js | 116 | 10 | 126 | 345 | 92% | | 39 | 52 | 75% | |
| src/routes/resources/detail.js | 42 | 2 | 44 | 147 | 95.4% | | 16 | 28 | 57.1% | |
| src/routes/resources/list.js | 35 | 0 | 35 | 91 | 100% | | 26 | 26 | 100% | |
| src/routes/riskProfiles.js | 217 | 0 | 217 | 456 | 100% | | 127 | 155 | 81.9% | |
| src/routes/riskProfiles/helpers.js | 34 | 0 | 34 | 103 | 100% | | 47 | 53 | 88.6% | |
| src/routes/riskScores.js | 3 | 0 | 3 | 20 | 100% | | 0 | 0 | | |
| src/routes/riskScores/entity.js | 87 | 9 | 96 | 228 | 90.6% | | 59 | 70 | 84.2% | |
| src/routes/riskScores/list.js | 41 | 2 | 43 | 133 | 95.3% | | 26 | 30 | 86.6% | |
| src/routes/riskScores/shared.js | 28 | 3 | 31 | 74 | 90.3% | | 23 | 26 | 88.4% | |
| src/routes/riskScores/summary.js | 24 | 0 | 24 | 100 | 100% | | 20 | 20 | 100% | |
| src/routes/riskScoringRuns.js | 37 | 1 | 38 | 83 | 97.3% | | 21 | 23 | 91.3% | |
| src/routes/systems.js | 84 | 0 | 84 | 227 | 100% | | 40 | 46 | 86.9% | |
| src/routes/tags.js | 3 | 0 | 3 | 22 | 100% | | 0 | 0 | | |
| src/routes/tags/crud.js | 146 | 0 | 146 | 334 | 100% | | 106 | 118 | 89.8% | |
| src/routes/tags/entities.js | 148 | 6 | 154 | 392 | 96.1% | | 56 | 64 | 87.5% | |
| src/routes/tags/shared.js | 22 | 0 | 22 | 64 | 100% | | 14 | 14 | 100% | |
| src/routes/updates.js | 56 | 12 | 68 | 213 | 82.3% | | 51 | 53 | 96.2% | |
| src/scheduler.js | 79 | 24 | 103 | 378 | 76.6% | | 74 | 80 | 92.5% | |
| src/secrets/crawlerSecrets.js | 52 | 0 | 52 | 136 | 100% | | 27 | 28 | 96.4% | |
| src/secrets/masterKeyStore.js | 83 | 0 | 83 | 200 | 100% | | 46 | 48 | 95.8% | |
| src/secrets/migrateCrawlerSecrets.js | 29 | 1 | 30 | 75 | 96.6% | | 11 | 11 | 100% | |
| src/secrets/vault.js | 83 | 3 | 86 | 257 | 96.5% | | 28 | 30 | 93.3% | |
| src/startupState.js | 18 | 0 | 18 | 61 | 100% | | 4 | 4 | 100% | |
| src/updates/channel.js | 12 | 0 | 12 | 35 | 100% | | 20 | 20 | 100% | |
| src/updates/checkForUpdates.js | 26 | 0 | 26 | 96 | 100% | | 25 | 26 | 96.1% | |
| src/updates/componentVersions.js | 19 | 0 | 19 | 93 | 100% | | 36 | 36 | 100% | |
| src/updates/detect.js | 36 | 0 | 36 | 79 | 100% | | 24 | 31 | 77.4% | |
| src/updates/job.js | 7 | 0 | 7 | 19 | 100% | | 0 | 0 | | |
| src/updates/versionCompare.js | 34 | 0 | 34 | 67 | 100% | | 53 | 54 | 98.1% | |
| src/version.js | 9 | 0 | 9 | 31 | 100% | | 6 | 6 | 100% | |