Identities5 matrix roles
Role × object × action
Authorization should be observable, not implied.
Compare expected and recorded access across identities without mistaking hidden UI for a server-side security boundary.authz-matrix / demo-storeObjects6 fixture resources
Mismatch1 recorded anomaly
Coverage1 row unknown
Two-user verification
Expected vs observed access
| Resource / action | Guest | User A | User B | Staff | Admin |
|---|---|---|---|---|---|
| Order Aowned by User A | |||||
| Private file Aowned by User A | |||||
| Seller listing Aseller-scoped read | |||||
| Refund actionmoney movement | |||||
| Policy exportadmin function | |||||
| Webhook replaycoverage not yet recorded |
One authenticated session is not enough.
SecHelix compares User A and User B against each other’s resources to expose BOLA, IDOR, tenant leakage, and ownership failures.
Control questions
What the verifier checks
- 01Who is the actor?session identity is resolved server-side
- 02Who owns the object?ownership is derived from stored truth
- 03What action is allowed?policy is explicit at the canonical boundary