Privacy Policy
Last updated: October 2026
1. Overview
The Anger App is designed with privacy as a core principle. All core features work entirely on-device. We do not sell your data to third parties.
2. Data We Collect
On-Device Only (Free Tier): Anger entries, journal logs, personal sequences, and usage data remain exclusively on your device. We cannot access this data.
Website Analytics: We use Google Analytics 4 (GA4) to understand how visitors use our website. This is gated behind your cookie consent. GA4 data is pseudonymised with a truncated IP and is not used to identify you individually.
Contact Forms: When you submit a contact or beta signup form, we collect your name and email to respond to your inquiry. This data is processed via Resend and stored securely.
Beta Feedback Survey: If you choose to submit the optional Beta Feedback Survey on /get-started, your responses are processed by Tally BV on our behalf. The survey iframe is only loaded if you have accepted cookies. The data collected includes:
- NPS score and launch-readiness assessment
- Usage frequency and per-module ratings (Anger Flow, Breathing, Meditation, Hypnosis)
- Interest in future AI-based features (Need-Finder, Communication Helper)
- Learning-module usage, look-and-feel feedback, and fulfilment assessment
- Any free-text answers you provide
- The email, first name, and platform you arrived with (passed via URL from your beta-signup link)
State of Anger 2026 Survey: If you choose to take part in the State of Anger 2026 survey on /anger-survey, your responses are processed by Tally BV on our behalf. The embedded survey is only loaded if you have accepted cookies; otherwise you can open it directly on tally.so. Responses are anonymous (no personal details are required) and results are published exclusively in aggregate form, never as individual responses. If you voluntarily provide your email address at the end of the survey, we use it solely to send you the finished report (Art. 6(1)(a) GDPR); you can withdraw at any time.
6-Week Email Course: If you sign up for the free 6-week email course, then after you confirm via double opt-in we store your email address, first name, start date, language, and course progress. The legal basis is your consent (Art. 6(1)(a) GDPR); your timestamped confirmation serves as proof (Art. 7 GDPR). This signup is its own thing, separate from the newsletter. During signup you can additionally, and voluntarily, consent to occasional tips and news. Only if you tick that separate box do we add you to the mailing list (see "Newsletter and tips" below). Your course runs independently of it. The emails are sent via Resend and the enrollment data is stored with Upstash. You can unsubscribe at any time via the link in every email; we then delete your enrollment. After the course finishes, the record is automatically deleted after about 90 days.
Beta reminder emails: When you sign up for the beta you can additionally, and voluntarily, consent to us emailing you the feedback survey and one single reminder. This consent is separate from the beta signup itself. Your beta place and your access details do not depend on it. It covers the emailing only; the survey itself is described under "Beta Feedback Survey" above. We send you one confirmation email. Only when you click the link in it do we record your consent on your contact entry, as a separate marker (a Resend "topic"). Only entries carrying that marker receive the survey emails. The marker is separate from your beta place and from any newsletter subscription. Your contact entry sits in the same Resend address list as the newsletter subscribers. The markers keep the two apart: you receive newsletter emails only if you subscribed to the newsletter. The legal basis is your consent (Art. 6(1)(a) GDPR); your timestamped confirmation serves as proof (Art. 7 GDPR). You can withdraw your consent at any time, via the unsubscribe link in any of these emails or by writing to us. Without your confirmation we send you no survey and no reminder.
Newsletter and tips: If you consent to receiving occasional tips and news from The Anger App, we store your email address and your first name. The legal basis is your consent (Art. 6(1)(a) GDPR); your timestamped double opt-in confirmation serves as proof (Art. 7 GDPR). The contact details are managed in an audience at Resend. You can withdraw your consent at any time, via the unsubscribe link in any of these emails or by writing to us. After withdrawal your address is marked as unsubscribed and receives no further marketing email. If you also want it erased entirely (Art. 17 GDPR), a message to the address in our imprint is enough.
Embedded Videos (YouTube): Some blog articles, the Science page, the Resources page and the install guide offer optional videos. No connection to YouTube or Google is made when you open the page. Only if you click the play button is the video loaded from YouTube's privacy-enhanced player (youtube-nocookie.com); at that point YouTube (Google Ireland Ltd. / Google LLC, US) receives your IP address and device information. Your click constitutes consent for that individual video (Art. 6(1)(a) GDPR, §25 TDDDG).
Embedded Podcast (Spotify): The Resources page lets you listen to The Anger App podcast in place. No connection to Spotify is made when you open the page. Only once you load the player by clicking does Spotify (Spotify AB, Sweden) receive your IP address and device information, and it may then set its own cookies. Your click constitutes consent for that player (Art. 6(1)(a) GDPR, §25 TDDDG).
Book covers: The book covers on the Resources page are served from our own server. No third-party images are loaded when you view that page.
The Anger App Mobile App: The app is built so your personal content (anger entries, journal logs, personal sequences and usage data) stays on your device. A small number of services process limited data, and only for the specific function you use:
- Guided audio downloads (Cloudflare R2): When you choose to download a guided meditation or hypnosis session, the audio file is delivered from our content-delivery network (Cloudflare R2). Cloudflare receives standard web-request metadata: your IP address, the requested file path and your device user-agent. The transfer is download-only; nothing from your device is uploaded, and no account is involved.
- Subscriptions and purchases (RevenueCat): Each time the app starts, it contacts RevenueCat, which we use to manage purchases and unlock the features you bought. RevenueCat keeps a record for every installation, not only for buyers: your IP address, technical details such as device model, system version, app version, language and store country, and an identifier (on Android the random device ID that the backup also uses, on iOS an anonymous RevenueCat ID plus Apple's identifier for vendors), plus purchase, receipt and entitlement data if you buy or restore a purchase. No account or name is created or shared; an email address is only added if you provide one at purchase, and you can remove it under Settings → Subscription. (Payments themselves are charged by Apple or Google; see below.)
- Cloud backup (Android, Premium): Automatic cloud backup is an optional Premium feature and works differently by platform. On Android, your whole journal (every entry, including notes, mood check-ins and NeedFinder check-ins) and the answers and scores from two self-checks, Anger reactions (DAR-5) and Anger check, are uploaded to Cloudflare infrastructure (EU region). The contents are encrypted on your device with a recovery code only you hold, so we cannot read them. The technical details of the backup are not encrypted: a random device ID created by the app (also shared with RevenueCat so that your premium status can be checked), a storage ID derived from your recovery code, the backup size, a format version number and timestamps. After a successful backup, the app backs up again when you open it, no sooner than 12 hours later; you can also start one with Back Up Now. Each request reaches our backup service (a Cloudflare Worker), which processes your IP address to answer it. On iOS, the app does not operate its own cloud backup: if you have Apple's iCloud Backup turned on in your device settings, iOS backs the app up as part of your whole-device backup under Apple's own iCloud terms, not ours. Free users keep manual encrypted export and import on both platforms, permanently. Backup stays off unless you enable it; the app is fully usable on-device only.
- Founding and early-bird offer status (Cloudflare): When you open the paywall, the app asks a small service on our Cloudflare account how many founding and early-bird slots remain, so the offer you see is accurate. That request carries standard web-request metadata (your IP address) and nothing from your entries.
- Crash and error diagnostics (Sentry): The app sends crash, freeze and out-of-memory reports to our own Sentry project (EU region, Frankfurt), even if you have turned off “Share crash reports” in Settings, because native-level crashes bypass that toggle. Each report carries the error and stack trace, device and OS details, app version, and a random per-install identifier that resets if you reinstall; it does not carry your journal content, screen activity, or session history. Our Sentry project is set not to store IP addresses.
- App updates (Expo EAS Updates): The app checks Expo's update service (650 Industries, Inc., US) on every launch for code updates between store releases. This contacts Expo's servers with standard request metadata and a persistent installation identifier.
- Daily reminders: Reminder notifications are scheduled locally on your device. No push token is generated and nothing is transmitted to us or any third party.
- TestFlight feedback (beta testers only): If you send feedback through TestFlight, Apple passes it to us, and we copy it from App Store Connect into a private project repository on GitHub (GitHub, Inc., US): your comment, any screenshot you attach, and your device model, system version, language and app build. We keep it until the closed beta ends, then delete it; email us to have yours deleted sooner.
- “Send feedback” button: If you tap Send feedback, the app opens your own email application with a message pre-filled with your app version, device model and OS version, addressed to our angerapp.io support address. The message is sent through your own email provider; we receive only what you choose to send.
- App stores (Apple / Google): The app is distributed, and payments are processed, by the Apple App Store and Google Play. Your store account and payment data are handled by Apple or Google under their own privacy policies.
AI Features: Only one feature uses an AI language model, and only when you actively use it: the website's Angry Message Translator. It sends the text you enter in that session to a vetted external provider, currently Anthropic (Claude), under a full Data Processing Agreement and appropriate security measures, solely to produce your reply. Your input is not used to train AI models and is not tied to your name or an account. The app's own features, including the Emotional Check-In and the NeedFinder, run entirely on your device with no AI and no network connection. This AI feature is optional; please avoid entering details you would not want processed by an AI model.
3. Legal Basis (GDPR)
We process data under Art. 6(1)(a) GDPR (consent) for analytics, optional embedded content, the optional AI features and cloud backup; Art. 6(1)(b) GDPR (performance of a contract) for contact-form responses, guided-audio delivery, subscription and entitlement management and referral rewards; and Art. 6(1)(f) GDPR (legitimate interest) for the limited technical metadata needed to deliver files you request and to handle feedback you send us.
4. Data Retention
Contact form submissions are retained for up to 12 months. You may request deletion at any time by contacting privacy@angerapp.io. If you use the Android cloud backup and your subscription lapses, your existing backup stays readable for 30 days and is then permanently deleted from Cloudflare. If we cannot confirm your subscription status at all, it is deleted after at most 90 days. Crash diagnostics are kept in Sentry for up to 90 days, then deleted. TestFlight feedback is kept until the closed beta ends, then deleted. Contact details you give us on the basis of your consent, including the newsletter audience, the beta participant list, and your consent to the beta reminder emails, are retained for as long as that consent stands. After a withdrawal or unsubscribe, we mark the record as unsubscribed so you receive no further mail; on explicit request we delete the record entirely (Art. 17 GDPR).
5. Your Rights
Under GDPR, you have the right to access, rectify, erase, restrict, and port your personal data, the right to object to processing (Art. 21 GDPR), and the right to withdraw any consent you have given at any time, with effect for the future. Contact privacy@angerapp.io for any requests.
You also have the right to lodge a complaint with a data protection supervisory authority, in particular in the EU member state of your habitual residence, your place of work, or the place of the alleged infringement (Art. 77 GDPR). An overview of supervisory authorities in the EU is available from the European Data Protection Board (EDPB).
6. Cookies
We use analytics cookies (GA4) only with your consent. Alongside that, we use a small number of necessary cookies and local storage, for example to remember your cookie choice itself, to detect referral links, and to record your roadmap votes; these do not require consent. See our Cookie Policy for the full list.
7. International Data Transfers and Sub-Processors
We use the following sub-processors:
- Resend (Resend Inc., US/EU): transactional email and audience management for contact forms, beta signup, the 6-week course, the beta reminder emails, and the newsletter audience. SCCs in place per GDPR Art. 46.
- Tally BV (Belgium/EU): beta feedback survey on /get-started and the State of Anger 2026 survey on /anger-survey. EU-based, with a published DPA and sub-processor list at tally.so/help/gdpr. Embedded surveys only load if you accept cookies.
- Google Analytics 4 (Google LLC, US): pseudonymised website analytics with truncated IP, only with your cookie consent. SCCs in place per GDPR Art. 46.
- YouTube (Google Ireland Ltd. / Google LLC, US): optional videos on blog articles, the Science page, the Resources page and the install guide, loaded via the privacy-enhanced youtube-nocookie player only after you click play. No data flows to YouTube before that click. SCCs in place per GDPR Art. 46.
- Vercel (Vercel Inc., US): hosting for this website. Processes standard server logs (IP address, requested URL, timestamp) to operate the site and diagnose errors; these logs are retained for about one hour. SCCs in place per GDPR Art. 46.
- Sanity (Sanity.io, US): content management system behind our blog and course content authoring. The authoring interface at /studio is publicly reachable, connects to *.sanity.io, and processes standard request metadata (IP address, user-agent); accessing content itself requires a separate login. SCCs in place per GDPR Art. 46.
- Spotify (Spotify AB, Sweden/EU): embedded podcast player on the Resources page, loaded only after you click. No data flows to Spotify before that click.
- Cloudflare (Cloudflare, Inc., US): content-delivery network hosting guided-audio files for optional in-app download, plus the offer-status service and the encrypted Android cloud backup (EU region). Processes standard request metadata (IP address, file path, user-agent). Backup content is encrypted on your device and unreadable to Cloudflare and to us. SCCs in place per GDPR Art. 46.
- RevenueCat (RevenueCat, Inc., US): in-app purchase and subscription management. Processes purchase, receipt and entitlement data plus a RevenueCat identifier tied to your device; no account or name, and an email only if you provide one at purchase (removable under Settings → Subscription). Contacted on every app start. SCCs in place per GDPR Art. 46.
- Anthropic (Anthropic PBC, US): external AI language model (Claude) powering the website's Angry Message Translator. Processes the text you submit in that session to generate a reply; does not train on your input; operates under a Data Processing Agreement. SCCs in place per GDPR Art. 46.
- Sentry (Functional Software, Inc., US, EU-region project): crash and error diagnostics for the mobile app, sent regardless of the in-app crash-report toggle because native crashes bypass it. The project is set not to store IP addresses. SCCs in place per GDPR Art. 46.
- Expo / EAS Updates (650 Industries, Inc., US): delivers app code updates between store releases; contacted on every app launch with a persistent installation identifier. EU-to-US transfer relies on Expo's certification under the EU-US Data Privacy Framework.
- GitHub (GitHub, Inc., US): hosts the private project repository into which TestFlight feedback is copied (beta testers only). EU-to-US transfer relies on GitHub's certification under the EU-US Data Privacy Framework.
- Upstash (Upstash, Inc., US): serverless data store. It holds anonymous counters, such as the vote tallies on the /roadmap page and internal usage counts, and, if you sign up for the 6-week email course, your course enrollment record (email, first name, start date, language and progress). If you sign up for the beta, it holds your email address and your signup date, so we know when the feedback survey is due. Roadmap voting stores no personal data: only the item's identifier is sent, and whether you have already voted is remembered by your browser alone. SCCs in place per GDPR Art. 46.
Your personal app data (journal entries, anger logs) is stored locally on your device and is not transmitted to servers of The Anger App or any sub-processor, with one exception: the optional encrypted Android cloud backup you turn on yourself, which we cannot read.
8. Data Security
Your personal content stays on your device and is never sent to us in readable form; the only exception is the optional encrypted Android backup you turn on yourself. Where data must leave your device (downloading audio, managing a purchase, uploading an encrypted backup, or sending feedback) it travels over encrypted (TLS/HTTPS) connections. Transfers to sub-processors outside the EU are covered by Standard Contractual Clauses. Because we do not operate a central database of your personal app content, there is by design very little that could ever be exposed.
9. US Users / California Residents (CCPA)
If you are a California resident, you have the following rights under the California Consumer Privacy Act (CCPA):
- Right to Know: You may request disclosure of the categories and specific pieces of personal information we have collected about you.
- Right to Delete: You may request deletion of personal information we have collected from you, subject to certain exceptions.
- Right to Opt-Out of Sale: The Anger App does not sell your personal information to third parties. This right is therefore not applicable.
- Right to Non-Discrimination: We will not deny services, charge different prices, or provide a different level of service based on your exercise of CCPA rights.
To exercise your rights, contact us at privacy@angerapp.io. We will respond within 45 days as required by law.
10. Children
The Anger App is not directed to children under 16. We do not knowingly process their data.
11. Contact
Data Controller: Praxis Foundry LLC, represented by Cody Williams (Sole Member)
4030 Wake Forest Road, STE 349, Raleigh, NC 27609, United States of America
Email: privacy@angerapp.io
EU representative under Art. 27 GDPR: Ulrich Hoffmann, IT-Dienstleistungen Hoffmann, Münchener Straße 23, 83527 Haag i. OB, Germany (see Imprint).