---
name: Support and privacy URLs
overview: Privacy is already live at https://onlynails.app/privacy. There is no support route yet — we will add a public /support page (FAQ + contact email) on the same SPA so App Store Connect has a valid Support URL.
todos:
  - id: support-page
    content: Add public Support.tsx (FAQ + mailto) matching Privacy/Terms layout
    status: pending
  - id: route-links
    content: Register /support outside Gate; link from Profile, Privacy, Terms
    status: pending
  - id: docs
    content: Document https://onlynails.app/support in iOS/store listing docs
    status: pending
isProject: false
---

# Support and Privacy URLs for App Store

## What already exists

**Privacy is done.** [`src/pages/Privacy.tsx`](src/pages/Privacy.tsx) is a public route (outside the login `Gate`) at `/privacy`. Nginx SPA fallback in [`deploy/nginx-web.conf`](deploy/nginx-web.conf) already serves it. After this deploys (or if it is already live), paste this in App Store Connect → **App Privacy**:

- `https://onlynails.app/privacy`

That Connect error is a missing form field, not a missing page.

**Support does not exist.** There is no `/support` page, no `support@` contact, and no ticket/email backend. Apple only needs a public HTTPS page where users can get help — not a full helpdesk.

```mermaid
flowchart LR
  connect[AppStoreConnect]
  privacy["onlynails.app/privacy existing"]
  support["onlynails.app/support new"]
  connect -->|"App Privacy URL"| privacy
  connect -->|"English US Support URL"| support
```

## What we will add

A public Support page matching Privacy/Terms (same layout, no auth):

- New [`src/pages/Support.tsx`](src/pages/Support.tsx)
- Route in [`src/App.tsx`](src/App.tsx) next to `/privacy` and `/terms` (outside `Gate`)
- URL: **`https://onlynails.app/support`**

Page contents (enough for review, no SMTP/ticketing):

- Contact: `mailto:support@onlynails.app` (keep `privacy@onlynails.app` for deletion/privacy requests, as today)
- Short FAQ: guest vs Apple/Google sign-in, restore purchases, cancel iOS/Android/web billing, nearby salons/location, AI credits, data deletion
- Links to Privacy and Terms

Cross-links so the page is findable in-app:

- Footer on [`src/pages/Profile.tsx`](src/pages/Profile.tsx) (Privacy · Terms · Support)
- Nav on Privacy and Terms pages

Docs one-liners so store checklists match production:

- [`docs/IOS_STORE.md`](docs/IOS_STORE.md) — Support URL + Privacy reminder
- [`docs/CAPACITOR.md`](docs/CAPACITOR.md), [`store/play/ASSETS.md`](store/play/ASSETS.md)

No nginx or API changes. No contact-form backend (the repo has no mailer).

## After deploy — what you paste in Connect

| Field | URL |
| --- | --- |
| App Privacy → Privacy Policy URL | `https://onlynails.app/privacy` |
| App Information → English (U.S.) Support URL | `https://onlynails.app/support` |

You still handle age ratings, content rights, and pricing yourself.

**Mailbox:** `support@onlynails.app` (and existing `privacy@onlynails.app`) need to deliver somewhere you actually read, or App Review mail will bounce. If those inboxes are not set up yet, point both at an address you check (GoDaddy/Google Workspace forward).