Phase (e) of secured data (spec §7.4, §8). It is stacked on #8; once #8 merges, this PR's diff shrinks to the phase (e) commits.
App home: one home for the "Secured Data" app, owning its data.
KPIs: reveals today, active reveal grants, active break-glass sessions, anomaly flags (7 days), denied filters (7 days) and access-log queue drops.
Full-width tables, each with "View all": recent reveals, top revealers, top reasons, break-glass events, policy and classification changes, and anomaly flags.
Empty states; real data only.
Nav: Classification, Policy, Access log, Break-glass sessions. Reveal grants appear only as a child list.
Anomalies: three triggers raise secured_data.anomaly through the alerts SPI and flag the log row:
reveals above 3× the user's 30-day daily median (at least 10 that day);
reveals of more than 20 distinct records in an hour;
exact-match search volume.
Break-glass sessions are flagged too. Thresholds are configurable.
Policy and classification changes are recorded through table customizers, and new access-log indexes are added to the DDL.
SecuredDataDemoServer (test scope) is a local memory-backed demo with bundled Next. It uses MOCK auth.
Core snapshot with -Duiapi=true: 72 tests, 0 failures.
Screenshots
Captured locally from the demo (light and dark at 390, 768, 1024, 1440, 1920 and 3200 px) for the home, the access log and the policy list, in R:/Git.Local/QRunIO/secured-data-shots/home/ (36 files). There is no horizontal page scroll at any width. Tables stack into labelled cards at narrow widths.
## Summary
Phase (e) of secured data (spec §7.4, §8). It is stacked on #8; once #8 merges, this PR's diff shrinks to the phase (e) commits.
- **App home:** one home for the "Secured Data" app, owning its data.
- KPIs: reveals today, active reveal grants, active break-glass sessions, anomaly flags (7 days), denied filters (7 days) and access-log queue drops.
- Full-width tables, each with "View all": recent reveals, top revealers, top reasons, break-glass events, policy and classification changes, and anomaly flags.
- Empty states; real data only.
- **Nav:** Classification, Policy, Access log, Break-glass sessions. Reveal grants appear only as a child list.
- **Anomalies:** three triggers raise `secured_data.anomaly` through the alerts SPI and flag the log row:
- reveals above 3× the user's 30-day daily median (at least 10 that day);
- reveals of more than 20 distinct records in an hour;
- exact-match search volume.
Break-glass sessions are flagged too. Thresholds are configurable.
- Policy and classification changes are recorded through table customizers, and new access-log indexes are added to the DDL.
- `SecuredDataDemoServer` (test scope) is a local memory-backed demo with bundled Next. It uses MOCK auth.
## Tests
- RC.5: 69 tests, 0 failures, 4 skipped (the core integration tests).
- Core snapshot with `-Duiapi=true`: 72 tests, 0 failures.
## Screenshots
Captured locally from the demo (light and dark at 390, 768, 1024, 1440, 1920 and 3200 px) for the home, the access log and the policy list, in `R:/Git.Local/QRunIO/secured-data-shots/home/` (36 files). There is no horizontal page scroll at any width. Tables stack into labelled cards at narrow widths.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Phase (e) of secured data (spec §7.4, §8). It is stacked on #8; once #8 merges, this PR's diff shrinks to the phase (e) commits.
App home: one home for the "Secured Data" app, owning its data.
Nav: Classification, Policy, Access log, Break-glass sessions. Reveal grants appear only as a child list.
Anomalies: three triggers raise
secured_data.anomalythrough the alerts SPI and flag the log row:Break-glass sessions are flagged too. Thresholds are configurable.
Policy and classification changes are recorded through table customizers, and new access-log indexes are added to the DDL.
SecuredDataDemoServer(test scope) is a local memory-backed demo with bundled Next. It uses MOCK auth.Tests
-Duiapi=true: 72 tests, 0 failures.Screenshots
Captured locally from the demo (light and dark at 390, 768, 1024, 1440, 1920 and 3200 px) for the home, the access log and the policy list, in
R:/Git.Local/QRunIO/secured-data-shots/home/(36 files). There is no horizontal page scroll at any width. Tables stack into labelled cards at narrow widths.🤖 Generated with Claude Code