Manifest version: v3-per-region-rules.v1
The V3 identity bridge now applies jurisdiction-aware access rules before a user
enters a realm or receives a Saraswati fan benefit. The runtime implementation
is libs/v3/lilith-identity-bridge/src/per-region-rules.ts; the release gate is
libs/oshun/analytics/src/v3-per-region-rules.ts.
Jurisdiction Profiles#
| Profile | Fan-token rule | Age rule | Content rating | Residency rule | Expected result |
|---|---|---|---|---|---|
us-ca |
Native fan-token benefits allowed | 13+ account, 16+ Saraswati | Up to mature-18 |
us-west storage and compute |
allow |
de |
Fan-token wrapper disabled; V1 account benefit fallback | 16+ account | Up to saraswati-16 |
eu-de storage and compute |
adapt |
gb |
Fan-token wrapper disabled; V1 account benefit fallback | 13+ account, 16+ Saraswati | Up to saraswati-16 |
uk storage and compute |
adapt |
in |
Fan-token wrapper disabled; no token requested in GA fixture | 13+ account, 16+ Saraswati | Up to teen |
in storage and compute |
allow |
br |
Fan-token wrapper disabled; V1 account benefit fallback | 13+ account, 16+ Saraswati | Up to saraswati-16 |
br storage and compute |
adapt |
Every fixture records the applied profile id, fan-token benefit delivery, minimum age, maximum content rating, storage residency zone, and compute residency zone. Blocking cases are covered for underage Saraswati access, content above the regional rating ceiling, and residency drift.
Evidence#
- Runtime rule engine:
evaluateV3PerRegionRules - Five-profile signoff:
buildV3PerRegionRulesJurisdictionReport - Evidence bundle:
V3/security/per-region-rules-validation.json - Verification command:
pnpm verify:v3 per-region-rules
The gate fails closed if any of the five profiles is missing, any rule dimension
is not applied, the expected allow / adapt decision changes, or the evidence
paths drift.