| Default | 6694 | 2374 | 9068 | 25969 | 73.8% | | 4394 | 7009 | 62.6% | |
| src/accountlinking/classifier.js | 57 | 1 | 58 | 130 | 98.2% | | 74 | 90 | 82.2% | |
| src/accountlinking/defaultRules.js | 1 | 0 | 1 | 22 | 100% | | 0 | 0 | | |
| src/accountlinking/engine.js | 110 | 20 | 130 | 315 | 84.6% | | 68 | 112 | 60.7% | |
| src/app.js | 69 | 24 | 93 | 359 | 74.1% | | 12 | 59 | 20.3% | |
| src/auth/permissionManifest.js | 3 | 0 | 3 | 57 | 100% | | 0 | 0 | | |
| src/auth/permissions.js | 17 | 0 | 17 | 85 | 100% | | 10 | 10 | 100% | |
| src/auth/readTokens.js | 17 | 10 | 27 | 109 | 62.9% | | 10 | 19 | 52.6% | |
| src/bootstrap.js | 48 | 94 | 142 | 410 | 33.8% | | 19 | 55 | 34.5% | |
| src/cli/auth-config.js | 0 | 82 | 82 | 208 | 0% | | 0 | 60 | 0% | |
| src/config/authConfig.js | 48 | 8 | 56 | 217 | 85.7% | | 40 | 54 | 74% | |
| src/contexts/contextFilters.js | 38 | 1 | 39 | 132 | 97.4% | | 26 | 32 | 81.2% | |
| src/contexts/cycleGuard.js | 6 | 0 | 6 | 65 | 100% | | 4 | 4 | 100% | |
| src/contexts/memberCounts.js | 10 | 0 | 10 | 53 | 100% | | 4 | 4 | 100% | |
| src/contexts/plugins/ad-ou-from-dn.js | 19 | 28 | 47 | 129 | 40.4% | | 11 | 26 | 42.3% | |
| src/contexts/plugins/department-from-principal.js | 19 | 0 | 19 | 71 | 100% | | 14 | 14 | 100% | |
| src/contexts/plugins/entra-group-category-tree.js | 26 | 0 | 26 | 73 | 100% | | 19 | 21 | 90.4% | |
| src/contexts/plugins/manager-hierarchy.js | 70 | 0 | 70 | 233 | 100% | | 61 | 66 | 92.4% | |
| src/contexts/plugins/orphaned-accounts.js | 18 | 1 | 19 | 77 | 94.7% | | 4 | 6 | 66.6% | |
| src/contexts/plugins/principal-type-tree.js | 28 | 0 | 28 | 83 | 100% | | 27 | 30 | 90% | |
| src/contexts/plugins/registry.js | 2 | 0 | 2 | 36 | 100% | | 2 | 2 | 100% | |
| src/contexts/plugins/resource-cluster/index.js | 30 | 0 | 30 | 133 | 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 | 28 | 35 | 63 | 140 | 44.4% | | 17 | 49 | 34.6% | |
| src/contexts/plugins/risky-consent.js | 68 | 4 | 72 | 213 | 94.4% | | 43 | 56 | 76.7% | |
| src/contexts/plugins/riskyAppFeed.js | 31 | 0 | 31 | 69 | 100% | | 24 | 26 | 92.3% | |
| src/contexts/plugins/riskyConsentRiskMap.js | 16 | 0 | 16 | 106 | 100% | | 21 | 23 | 91.3% | |
| src/contexts/plugins/runner.js | 94 | 24 | 118 | 408 | 79.6% | | 64 | 97 | 65.9% | |
| src/contexts/plugins/scope-hierarchy.js | 34 | 2 | 36 | 112 | 94.4% | | 28 | 34 | 82.3% | |
| src/contexts/plugins/types.js | 0 | 0 | 0 | 0 | | | 0 | 0 | | |
| src/contexts/seedAlgorithms.js | 8 | 0 | 8 | 48 | 100% | | 6 | 10 | 60% | |
| src/crawlerManifests.js | 28 | 1 | 29 | 98 | 96.5% | | 22 | 25 | 88% | |
| src/db/columnCache.js | 83 | 2 | 85 | 213 | 97.6% | | 26 | 36 | 72.2% | |
| src/db/connection.js | 110 | 47 | 157 | 337 | 70% | | 53 | 102 | 51.9% | |
| src/db/matrixHelpers.js | 17 | 0 | 17 | 65 | 100% | | 28 | 28 | 100% | |
| src/db/migrate.js | 16 | 29 | 45 | 155 | 35.5% | | 5 | 11 | 45.4% | |
| src/db/queryHelpers.js | 0 | 10 | 10 | 47 | 0% | | 0 | 0 | | |
| src/db/schemaErrors.js | 2 | 0 | 2 | 19 | 100% | | 2 | 2 | 100% | |
| src/effectiveAccess/engine.js | 168 | 9 | 177 | 507 | 94.9% | | 101 | 143 | 70.6% | |
| src/effectiveAccess/policies.js | 23 | 0 | 23 | 88 | 100% | | 24 | 28 | 85.7% | |
| src/export/excelWorkbook.js | 62 | 0 | 62 | 151 | 100% | | 6 | 6 | 100% | |
| src/export/exportBaseUrl.js | 17 | 0 | 17 | 63 | 100% | | 20 | 21 | 95.2% | |
| src/export/queryTemplates.js | 8 | 0 | 8 | 152 | 100% | | 2 | 2 | 100% | |
| src/ingest/crawlerPresence.js | 9 | 0 | 9 | 42 | 100% | | 8 | 8 | 100% | |
| src/ingest/engine.js | 24 | 53 | 77 | 254 | 31.1% | | 20 | 69 | 28.9% | |
| src/ingest/normalization.js | 46 | 3 | 49 | 182 | 93.8% | | 58 | 66 | 87.8% | |
| src/ingest/sessions.js | 4 | 63 | 67 | 163 | 5.9% | | 0 | 37 | 0% | |
| src/ingest/tempTableHelpers.js | 0 | 18 | 18 | 43 | 0% | | 0 | 10 | 0% | |
| src/ingest/tombstonePurge.js | 7 | 0 | 7 | 28 | 100% | | 6 | 6 | 100% | |
| src/ingest/validation.js | 70 | 4 | 74 | 518 | 94.5% | | 107 | 112 | 95.5% | |
| src/lib/capabilityId.js | 7 | 0 | 7 | 51 | 100% | | 8 | 8 | 100% | |
| src/lib/syncVersion.js | 7 | 0 | 7 | 46 | 100% | | 6 | 8 | 75% | |
| src/llm/providers.js | 71 | 90 | 161 | 404 | 44% | | 75 | 184 | 40.7% | |
| src/llm/riskPrompts.js | 35 | 2 | 37 | 250 | 94.5% | | 21 | 26 | 80.7% | |
| src/llm/scraper.js | 99 | 11 | 110 | 254 | 90% | | 102 | 120 | 85% | |
| src/llm/service.js | 15 | 38 | 53 | 162 | 28.3% | | 12 | 47 | 25.5% | |
| src/matrix/attrExpr.js | 10 | 0 | 10 | 32 | 100% | | 14 | 14 | 100% | |
| src/matrix/attributeCut.js | 33 | 0 | 33 | 136 | 100% | | 22 | 25 | 88% | |
| src/matrix/contextRollup.js | 35 | 0 | 35 | 261 | 100% | | 42 | 44 | 95.4% | |
| src/matrix/filterSql.js | 78 | 13 | 91 | 240 | 85.7% | | 59 | 80 | 73.7% | |
| src/matrix/inheritedAccess.js | 2 | 178 | 180 | 393 | 1.1% | | 0 | 164 | 0% | |
| src/matrix/rollupBuilders.js | 22 | 0 | 22 | 128 | 100% | | 24 | 24 | 100% | |
| src/matrix/scopeHistory.js | 64 | 11 | 75 | 304 | 85.3% | | 44 | 71 | 61.9% | |
| src/middleware/auth.js | 59 | 5 | 64 | 191 | 92.1% | | 45 | 52 | 86.5% | |
| src/middleware/crawlerAuth.js | 10 | 61 | 71 | 163 | 14% | | 4 | 54 | 7.4% | |
| src/middleware/perfMetrics.js | 1 | 21 | 22 | 72 | 4.5% | | 1 | 10 | 10% | |
| src/mock/data.js | 55 | 0 | 55 | 185 | 100% | | 17 | 18 | 94.4% | |
| src/perf/collector.js | 6 | 47 | 53 | 131 | 11.3% | | 0 | 16 | 0% | |
| src/perf/sqlTimer.js | 3 | 15 | 18 | 42 | 16.6% | | 2 | 10 | 20% | |
| src/postCrawlJobs.js | 1 | 7 | 8 | 28 | 12.5% | | 0 | 1 | 0% | |
| src/riskscoring/engine.js | 281 | 50 | 331 | 944 | 84.8% | | 155 | 227 | 68.2% | |
| src/riskscoring/tiers.js | 6 | 0 | 6 | 17 | 100% | | 10 | 10 | 100% | |
| src/routes/accountLinking.js | 52 | 1 | 53 | 122 | 98.1% | | 29 | 36 | 80.5% | |
| src/routes/admin.js | 248 | 29 | 277 | 823 | 89.5% | | 131 | 215 | 60.9% | |
| src/routes/authRoles.js | 40 | 3 | 43 | 152 | 93% | | 25 | 37 | 67.5% | |
| src/routes/bulkLists.js | 84 | 4 | 88 | 286 | 95.4% | | 36 | 38 | 94.7% | |
| src/routes/categories.js | 149 | 2 | 151 | 386 | 98.6% | | 104 | 115 | 90.4% | |
| src/routes/contextPlugins.js | 83 | 0 | 83 | 204 | 100% | | 39 | 53 | 73.5% | |
| src/routes/contexts.js | 247 | 4 | 251 | 631 | 98.4% | | 219 | 264 | 82.9% | |
| src/routes/crawlerFiles.js | 119 | 10 | 129 | 295 | 92.2% | | 55 | 67 | 82% | |
| src/routes/crawlers.js | 124 | 153 | 277 | 654 | 44.7% | | 80 | 229 | 34.9% | |
| src/routes/dataExport.js | 44 | 0 | 44 | 109 | 100% | | 27 | 28 | 96.4% | |
| src/routes/details.js | 243 | 77 | 320 | 912 | 75.9% | | 56 | 173 | 32.3% | |
| src/routes/effectiveAccess.js | 25 | 4 | 29 | 71 | 86.2% | | 31 | 35 | 88.5% | |
| src/routes/governance.js | 20 | 28 | 48 | 188 | 41.6% | | 14 | 30 | 46.6% | |
| src/routes/identities.js | 218 | 23 | 241 | 735 | 90.4% | | 94 | 130 | 72.3% | |
| src/routes/ingest.js | 176 | 38 | 214 | 604 | 82.2% | | 136 | 174 | 78.1% | |
| src/routes/jobs.js | 161 | 121 | 282 | 632 | 57% | | 127 | 212 | 59.9% | |
| src/routes/llm.js | 27 | 35 | 62 | 142 | 43.5% | | 13 | 38 | 34.2% | |
| src/routes/matrix.js | 9 | 62 | 71 | 216 | 12.6% | | 0 | 48 | 0% | |
| src/routes/matrix/data.js | 310 | 7 | 317 | 807 | 97.7% | | 162 | 210 | 77.1% | |
| src/routes/matrix/savedFilters.js | 35 | 41 | 76 | 160 | 46% | | 24 | 59 | 40.6% | |
| src/routes/matrix/scope.js | 20 | 69 | 89 | 250 | 22.4% | | 6 | 62 | 9.6% | |
| src/routes/matrix/shared.js | 52 | 26 | 78 | 266 | 66.6% | | 64 | 93 | 68.8% | |
| src/routes/orgChart.js | 26 | 0 | 26 | 75 | 100% | | 13 | 16 | 81.2% | |
| src/routes/perf.js | 28 | 0 | 28 | 82 | 100% | | 15 | 18 | 83.3% | |
| src/routes/permissions.js | 201 | 65 | 266 | 844 | 75.5% | | 73 | 153 | 47.7% | |
| src/routes/preferences.js | 5 | 26 | 31 | 78 | 16.1% | | 0 | 18 | 0% | |
| src/routes/recentChanges.js | 174 | 134 | 308 | 664 | 56.4% | | 134 | 345 | 38.8% | |
| src/routes/resources.js | 108 | 97 | 205 | 521 | 52.6% | | 48 | 120 | 40% | |
| src/routes/riskProfiles.js | 251 | 0 | 251 | 520 | 100% | | 179 | 220 | 81.3% | |
| src/routes/riskScores.js | 227 | 32 | 259 | 607 | 87.6% | | 206 | 249 | 82.7% | |
| src/routes/riskScoringRuns.js | 34 | 1 | 35 | 80 | 97.1% | | 17 | 21 | 80.9% | |
| src/routes/systems.js | 37 | 46 | 83 | 212 | 44.5% | | 18 | 52 | 34.6% | |
| src/routes/tags.js | 315 | 10 | 325 | 698 | 96.9% | | 192 | 223 | 86% | |
| src/routes/updates.js | 48 | 12 | 60 | 192 | 80% | | 35 | 46 | 76% | |
| src/scheduler.js | 40 | 38 | 78 | 289 | 51.2% | | 45 | 71 | 63.3% | |
| src/secrets/crawlerSecrets.js | 21 | 7 | 28 | 68 | 75% | | 10 | 16 | 62.5% | |
| src/secrets/migrateCrawlerSecrets.js | 14 | 2 | 16 | 48 | 87.5% | | 4 | 4 | 100% | |
| src/secrets/vault.js | 40 | 13 | 53 | 165 | 75.4% | | 4 | 9 | 44.4% | |
| src/updates/channel.js | 12 | 0 | 12 | 35 | 100% | | 20 | 20 | 100% | |
| src/updates/checkForUpdates.js | 1 | 25 | 26 | 96 | 3.8% | | 9 | 26 | 34.6% | |
| 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 | 0 | 7 | 7 | 19 | 0% | | 0 | 0 | | |
| src/updates/versionCompare.js | 25 | 0 | 25 | 48 | 100% | | 40 | 41 | 97.5% | |
| src/version.js | 9 | 0 | 9 | 31 | 100% | | 6 | 6 | 100% | |