Fighting Game · Guides & deep dives

ADR: Identity Entitlement Claim API

Cross-product grants use signed entitlement claims issued by @oshun/identity.

3sections1 minread

On this page

Status: Accepted
Date: 2026-05-12

Decision#

Cross-product grants use signed entitlement claims issued by @oshun/identity. V2 consumes claims, never raw source-product activity. The executable V2 adapter is apps/v2/cross-product-entitlement; the shared claim evaluator is libs/shared/identity/src/v2-entitlement-claims.ts.

Claim Shape#

Required fields:

  • claim_id
  • subject_account_id
  • issuer
  • grant_type
  • grant_payload
  • source_sensitivity
  • region_constraints
  • issued_at
  • expires_at
  • revocation_uri
  • signature

Privacy Rule#

Sensitive products must require explicit per-grant opt-in before any visible V2 title, badge, cosmetic, or lobby signal is shown. Aphrodite is the launch sensitive adult source. Aphrodite-derived grants require opt-in per individual grant plus an out-of-context warning, and V2 blocks implicit lobby / title / badge surfacing even after the grant is accepted.