# V2 License Verification

V2 license verification validates ownership via platform API before a protected
client enters normal online play. The release contract covers Steam, EGS,
Microsoft Store, Mac App Store, and native platform store entitlement APIs for
PlayStation, Xbox, and Nintendo.

## Provider Coverage

`V2/ue/Build/DRM/v2-license-verification.json` defines every provider, platform
API, launch profile, signed receipt requirement, server-side entitlement mirror,
and safe failure response. Each provider writes release evidence to the DRM
archive.

Required providers:

- Steam
- EGS
- Microsoft Store
- Mac App Store
- PlayStation Store
- Xbox Store
- Nintendo eShop

Every provider requires an ownership check, a signed receipt, platform account
binding, and a server-side entitlement mirror. License verification does not
grant offline play by itself; the offline cache handoff is assigned to
`TODOS.phase-72.72.4.1.6`.

## Failure Response

If ownership cannot be verified, the protected client enters safe-boot
offline-only mode, does not crash, shows a repair prompt, disables ranked
access, and blocks progression grants until verification succeeds or support
approves an override.

## CI Gates

`V2/ue/Tools/plan-v2-license-verification.py` emits the deterministic license
verification plan. `V2/ue/Tools/check-v2-license-verification.py` validates the
manifest, planner output, anti-debugging dependency, Horde wiring, CI workflow
wiring, and this runbook.

Required release gates:

- `drm-license-verification-plan-generated`
- `drm-license-verification-provider-coverage`
- `drm-license-verification-platform-api-coverage`
- `drm-license-verification-signed-receipts`
- `drm-license-verification-safe-failure`

The `drm-license-verification-signed-receipts` gate requires signed receipt
coverage for every provider, and the safe-failure gate requires non-crashing
repair behavior for every platform store.
