Commit Graph

9 Commits

Author SHA1 Message Date
rcourtman fed3b776e0 Fail closed on ambiguous email principal resolution 2026-05-05 09:26:10 +01:00
rcourtman 53a928ee2d Prevent contact-email principal takeover 2026-05-05 09:19:29 +01:00
rcourtman ea0b20cd19 Use strict org principals for runtime access 2026-05-04 23:16:15 +01:00
rcourtman 7af1276c3b Fail closed on blank magic-link principals 2026-05-04 22:43:35 +01:00
rcourtman 7829c3e6ed Pin hosted identity invariants
Resolve hosted magic-link verification through current organization membership so sessions bind to the stored stable user principal instead of token email.

Add the v6 identity invariant contract and static guards covering hosted handoff, checkout, provisioning, and magic-link boundaries.
2026-05-03 23:58:08 +01:00
rcourtman 3e497ecb70 Harden hosted tenant identity keys
Use stable control-plane user IDs as hosted tenant organization principals while preserving email as contact metadata and legacy fallback. Cloud handoff sessions now bind to the signed subject instead of email, seeded tenant orgs store owner/member email separately from durable user IDs, and the subsystem contracts pin that boundary.
2026-05-03 23:28:26 +01:00
rcourtman c0ac251316 Require target-organization approval for org shares 2026-04-22 09:16:40 +01:00
rcourtman 778a2577b6 feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
rcourtman 7f7edfceb4 test: expand backend coverage 2026-01-25 21:08:44 +00:00