openvibers/openvibe.network Commits

Grants: Live as a Billing client (intent, transfer, balance, cashout request, subscriptions, entitlements); never cashout.manage or ledger.admin

OP OpenVibers committed 23 Sept 2026 · acc0180b8d · 1 file, +4 −0


Changes

ddiff --git a/server/identity/principals.js b/server/identity/principals.js
iindex b3a3d53f..fef965fc 100644
---- a/server/identity/principals.js
++++ b/server/identity/principals.js
@@@ -58,6 +58,10 @@ const DEFAULT_GRANTS = [
['chat', 'live.chat_mirror.write', 'openvibe.live', []],
['live', 'chat.live_bridge.write', 'openvibe.chat', []],
['live', 'chat.presence.read', 'openvibe.chat', []],
++ // Wave 8: Live as a Billing client (used only with BILLING_AUTHORITY=billing). Never cashout.manage
++ // or ledger.admin: approving payouts is a separately controlled capability (ADR-012 rule 10).
++ ...['billing.intent.create', 'billing.transfer.create', 'billing.balance.read', 'billing.cashout.request',
++ 'billing.subscription.manage', 'billing.entitlement.check'].map(c => ['live', c, 'openvibe.billing', []]),
];
// Grants withdrawn by decision; applied at every boot so an old default can't come back.