03 / OWNERSHIP

Ownership Graph

Model anything ownable — documents, licenses, keys, devices, credits, agents. Transfer, delegate and expire it, with policy evaluated at the edge.

<40ms
policy check p99
Any
resource type
Full
transfer lineage
ReBAC
permission model

Ownable resources

Register any object type once and get owners, custodians, delegates and expiry semantics for free.

Transfers with lineage

Every hand-off is an atomic, receipted edge. Walk the chain of custody back to origin at any time.

Policy at the edge

Relationship-based rules evaluated in single-digit milliseconds, cached close to your users.

Delegation & expiry

Time-boxed grants that revoke themselves — no cron jobs, no orphaned access.

Graph queries

Ask what a subject can touch, or who can touch a resource, in one call.

Audit-linked

Every mutation emits an audit event automatically, so ownership history and audit trail never disagree.

Wired in one afternoon

  • One registry for all resource types
  • Atomic transfers with receipts
  • ReBAC policy checks under 40ms
  • Auto-expiring delegations
santati · graph.transfer
await bb.graph.transfer({
  resource: 'lic_88x',
  from: 'usr_9fa2',
  to:   'org_kaito',
  policy: { role: 'custodian', expires: '30d' },
})

await bb.graph.can('usr_4c1', 'revoke', 'lic_88x') // false

Ship ownership graph this quarter