# Go-live checklist

> **TL;DR** — Post your test results, planned date and expected peak in your Discord channel **at least 5 working days** before launch. Wandura confirms your licences, swaps the trial Player SDK licence for the paid one and checks your limits against your peak; you create production keys and run a smoke test. Never load-test production. During the beta there is no contractual SLA.

## The process
| When | Who | Step |
|---|---|---|
| ≥ 5 working days before | You | Post in your channel: the [test plan](https://docs.wandura.ai/v1/developers/guides/testing#test-plan) results, your planned date and time (UTC), your expected peak (plays per minute), your production bundle ID and package name. |
| Before the date | Wandura | Confirms the films and licence windows of your production organisation. |
| Before the date | Wandura | Replaces the trial Player SDK licence with the paid one (no new app release needed). |
| Before the date | Wandura | Reviews your limits against your peak: a playback limit well above your expected peak tickets per minute (each play start is about 3 tickets with prefetch), raised for your organisation if needed. |
| Before the date | You | Create production keys on **Developers**, separate from test keys, and deploy them. |
| Launch day | You | Smoke test from production: `GET /config` `200`, `GET /catalog` `200` with your films, one played episode per platform. |
| Launch day | Both | Wandura confirms in your channel. |
| First week | Both | Watch error rates daily; report anything unusual in your channel. |

**No load tests on production.** Agree any test against Wandura's servers in your channel first; see [Testing](https://docs.wandura.ai/v1/developers/guides/testing#load-tests).

## Checklist
**Keys and security**

- [ ] Production keys exist, one per system, separate from test keys, in a secrets manager.
- [ ] No `wnd_live_` in the release builds; the secret-scanner pattern is in your repositories.
- [ ] Your on-call runbook names who revokes a playback key and who tells Wandura ([Security](https://docs.wandura.ai/v1/developers/concepts/security#leaked-key)).
- [ ] Your ticket endpoint requires a signed-in viewer and limits tickets per viewer.

**Player SDK**

- [ ] The paid licence covers the production bundle ID and package name.
- [ ] Your App Store privacy details and Play Data safety form declare the Player SDK.

**Backend**

- [ ] The catalog sync runs on schedule in production, with an alert when it fails or stalls.
- [ ] Your paywall reads `free_until_episode` from your synced catalog.
- [ ] Every ticket is checked for `protection`.
- [ ] Every answer on [Errors](https://docs.wandura.ai/v1/developers/concepts/errors) maps to a screen; unknown codes fall into a default branch.
- [ ] Retries follow the [retry policy](https://docs.wandura.ai/v1/developers/reference/behaviour#retries), with a budget.
- [ ] Logs carry what [Observability](https://docs.wandura.ai/v1/developers/production/observability) lists, and none of what it forbids.

**Rights**

- [ ] Wandura has confirmed your licensed films and their windows.
- [ ] You know what happens when rights end ([When rights end](https://docs.wandura.ai/v1/developers/production/rights-end)).

## Support during the beta
The API is in beta: there is **no contractual SLA** yet. Wandura's support channel is your team's Discord channel. Report incidents there with the details in [Troubleshooting](https://docs.wandura.ai/v1/developers/production/troubleshooting#escalate). What Wandura aims for internally (most ticket requests without a `5xx`, fast answers) is a goal, not a commitment; ask in your channel for current figures.

## Related
- [Observability](https://docs.wandura.ai/v1/developers/production/observability)
- [Troubleshooting](https://docs.wandura.ai/v1/developers/production/troubleshooting)
