# Google Play Release Checklist — MenuKosh

Run through this before every Play Console submission (first submission and
every update). Pairs with `GOOGLE_PLAY_DATA_SAFETY.md` and
`PLAY_STORE_SUBMISSION.md` (the TWA packaging walkthrough).

## 1. Privacy Policy

- [ ] `/privacy-policy` is live at the production domain, returns HTTP 200,
      loads over HTTPS, and is **not** gated by login or an active
      subscription (verified by `tests/Feature/LegalPagesTest.php`).
- [ ] The Play Console "Privacy policy" field points at the exact
      production URL, e.g. `https://menukosh.pinakra.com/privacy-policy`.
- [ ] Re-read the policy after any change to what data the app collects —
      it must describe the *current* app, not a stale snapshot. The
      "Last updated" date in `config/legal.php` should move forward
      whenever the content changes materially.

## 2. Data Safety section (Play Console)

- [ ] Walk through every row in `GOOGLE_PLAY_DATA_SAFETY.md` and enter it
      into the Play Console Data Safety form field-by-field — don't
      re-derive it from memory.
- [ ] Confirm "Data is encrypted in transit" is checked (true — HTTPS is
      enforced; see `app/Http/Middleware/SecurityHeaders.php` and the
      production-only HSTS header).
- [ ] Confirm "Users can request data deletion" is checked and points at
      `https://menukosh.pinakra.com/data-deletion`.
- [ ] Do **not** check "No data collected" — this app collects account,
      order, and business data as documented.

## 3. Ads declaration

- [ ] Declare **"No, this app does not contain ads"** — verified by a
      full-text search of the codebase for ad-SDK integrations (none
      found). If ads are added in a future release, this checklist item
      and the Data Safety form must both be revisited before that release
      ships, not after.

## 4. App access / reviewer test credentials

- [ ] Provide reviewer login credentials via `GOOGLE_PLAY_REVIEW_ACCESS_TEMPLATE.md`,
      filled in with a **dedicated test/demo account** — never a real
      restaurant owner's live credentials.
- [ ] **Never commit real credentials to git.** Fill the template out in
      the Play Console form directly, or in a password manager entry, not
      in a tracked file.
- [ ] If the test account's subscription can expire, either use a plan
      that won't lapse during review or note in the access instructions
      how the reviewer should proceed if they hit the expired-subscription
      screen.

## 5. Content rating

- [ ] Complete Play Console's content-rating questionnaire honestly for a
      business/productivity tool (restaurant management) — it is not a
      game, does not contain user-generated public content feeds, and
      does not have user-to-user messaging within the app itself.
- [ ] Re-confirm rather than copy a rating from a previous, different app.

## 6. Target audience &amp; age

- [ ] Target audience: **adults / general business users**, not children.
      MenuKosh is a restaurant-operations tool; there is no reason to
      declare it as directed at or appealing to children, and doing so
      solely to widen distribution would misrepresent the app and risk a
      Play policy violation. See Privacy Policy §N.

## 7. Permissions cleanup

- [ ] Cross-check the final packaged app's permission list (from the Play
      Console pre-launch report) against `GOOGLE_PLAY_DATA_SAFETY.md`'s
      "Web APIs actually used" table — flag and investigate anything
      present in the package that isn't explained by a web API this app
      actually calls.
- [ ] If PWABuilder's default template ever adds permissions MenuKosh
      doesn't need (some TWA generators bundle broad defaults), strip them
      from the generated manifest before signing, rather than shipping
      unused permissions "just in case."

## 8. Account &amp; data deletion confirmation

- [ ] Confirm `/data-deletion` is reachable, unauthenticated, and its form
      submits successfully end-to-end (validation, CSRF, honeypot, success
      message) — covered by `tests/Feature/LegalPagesTest.php`.
- [ ] Confirm the Play Console's "delete account" requirement (required
      for apps with in-app account creation) links to this same page.

## 9. Before hitting "Submit for review"

- [ ] `php artisan test` passes.
- [ ] `/privacy-policy`, `/terms-and-conditions`, `/data-deletion` all
      manually spot-checked in a real browser at a phone width.
- [ ] Version code incremented from the previous submission (see
      `PLAY_STORE_SUBMISSION.md` for where this is set in PWABuilder).
- [ ] `public/.well-known/assetlinks.json` fingerprints are current for
      the signing key actually used to build this release — a TODO in
      `PLAY_STORE_SUBMISSION.md` since these are currently placeholders
      pending the first real package build.
