# ADR: Platform Cert-Ban Truth Table

Status: Accepted  
Date: 2026-05-12

## Decision

`V2/legal/platform-cert-bans.json` is the source of truth for platform and
region feature bans. The default for monetized on-chain features is deny unless
legal explicitly allows the platform and region.

The table now uses `schemaVersion: 2` and maps `{ platform, region, ageRating }`
to `bannedSurfaces[]` plus `explicitlyClearedSurfaces[]` inside effective-date
windows. The owner is the V2 publisher legal team, and the review cadence is per
platform-cert-policy update plus at minimum quarterly.

## Implementation Contract

- Build gates fail when a prohibited feature is enabled for a platform/region.
- Entries must include owner, source, `effectiveFrom`, `effectiveUntil`,
  `bannedSurfaces[]`, and explicit clearances.
- The table records effective-date windows for each row.
- Legal must review the file before every cert submission, every cert-policy
  update, and at minimum quarterly.
- `Tools/check-platform-cert-bans.py` cross-checks the truth table with
  `V2/ue/Build/PlatformCookAjeReachability.json` so an Aje package cannot be
  reachable from a cooked binary while its surface is banned or uncleared.
