Files
alva/docs/store/privacy-policy.md
T
Claude e5b81f46b0 Store readiness: in-app account deletion, privacy policy, terms, listing copy
Closes the remaining store-compliance gaps before App Store / Play
submission:

- Account deletion (App Store guideline 5.1.1): DELETE /me removes the
  user row (usage cascades). The app exposes it through one quiet
  'Account' caption link under the chat, visible only when signed in,
  driving two native dialogs (Sign out / Delete account with a
  destructive confirm) — no new views, no menus, minimalism intact.
  Deletion signs out and resets the app; copy notes that store
  subscriptions are cancelled in App Store / Play settings.
- docs/store/privacy-policy.md: the complete data inventory (matching
  the actual schema), transient OpenAI processing with no training, no
  profiling or ads, GDPR legal bases and rights, in-app erasure.
- docs/store/terms-of-service.md: not-therapy positioning with crisis
  guidance, AI-generated-content caveat, 18+ eligibility,
  auto-renewal/cancellation terms, liability, Swedish governing law.
- docs/store/listing.md: App Store and Play copy written to the
  honest-claims rule (subtitle 'Think Beyond Thought', keywords,
  descriptions), plus App Privacy and Data safety questionnaire
  mappings.
- LAUNCH.md updated: host the policy/terms, set store URLs, use the
  prepared listing copy.
- Tests: 30 passing (adds DELETE /me coverage).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0118DaxZR36RpnY524vRqx3z
2026-08-03 22:37:25 +00:00

63 lines
2.9 KiB
Markdown

# Semantika — Privacy Policy
_Last updated: [DATE]. Controller: [COMPANY NAME, ADDRESS, ORG NUMBER].
Contact: [support@semantika.app]._
Semantika is built to know as little about you as possible. This policy
describes exactly what we process, why, and what we never do.
## What we store
| Data | Purpose | Kept until |
| ----------------------------------------------------------- | ------------------------------------------- | -------------------------------------- |
| Email address and sign-in provider (Apple, Google or email) | Your account | Account deletion |
| Subscription status (`free`/`active`) | Unlocking Premium | Account deletion |
| Message counters and their reset date | Free-tier limits and abuse prevention | Account deletion |
| A random device identifier (guests only) | Letting you chat before creating an account | Removed when you delete the app's data |
That is the complete list. We do not collect names, birthdays, locations,
contacts, photos, advertising identifiers, or analytics profiles.
## Your conversations
- Conversations are **never stored on our servers**. They live in your
app's memory and disappear when you close the conversation.
- To generate each reply, the current conversation is transmitted over
encrypted connections to our AI provider, **OpenAI** (acting as a data
processor), and processed transiently. Under OpenAI's API terms, API data
is **not used to train their models**.
- We never use your conversations for advertising, profiling, or training
of any kind.
- Error logs never contain message content.
## Payments
Purchases are handled entirely by Apple (App Store) or Google (Google
Play). We never see your card details — only a receipt that we verify with
the store and your resulting subscription status.
## Legal bases (GDPR)
- **Performance of contract** — providing the service you signed up for.
- **Legitimate interest** — preventing abuse of the free tier.
## Your rights
You can access, correct, export, or erase your data at any time. Deleting
your account (**Account → Delete account** in the app) permanently removes
everything in the table above. Cancel an active subscription in your App
Store or Google Play settings — deleting the account does not cancel the
store subscription. For anything else, contact [support@semantika.app].
You may also lodge a complaint with your supervisory authority (in Sweden:
IMY).
## Security
All traffic is encrypted (HTTPS). Authentication uses AWS Cognito.
Databases are encrypted at rest and unreachable from the public internet.
## Changes
If this policy changes materially, we will note it in the app before the
change takes effect.