Ownable resources
Register any object type once and get owners, custodians, delegates and expiry semantics for free.
Model anything ownable — documents, licenses, keys, devices, credits, agents. Transfer, delegate and expire it, with policy evaluated at the edge.
Register any object type once and get owners, custodians, delegates and expiry semantics for free.
Every hand-off is an atomic, receipted edge. Walk the chain of custody back to origin at any time.
Relationship-based rules evaluated in single-digit milliseconds, cached close to your users.
Time-boxed grants that revoke themselves — no cron jobs, no orphaned access.
Ask what a subject can touch, or who can touch a resource, in one call.
Every mutation emits an audit event automatically, so ownership history and audit trail never disagree.
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