Privacy Policy
Last updated: September 30, 2026
This is a translation of the Italian Privacy Policy. The two versions have the same content; if they ever differ, the Italian version prevails.
This policy explains what personal data Duskhearth ("the App", "the Service") collects when you use it, why we use it and what rights you have. It applies to anyone who creates an account and plays through the App.
1. Data controller
The data controller is Cristian Palestrini, an individual developer, who can be reached by email at support@duskhearth.app or by certified email (PEC) at cristian.palestrini@legalmail.it.
2. What data we collect
2.1 Account data
Email and password (we never see the password in clear text: authentication is handled by Firebase Authentication), display name, avatar — an image chosen from the app's presets or, if you have a plan that allows it, a photo you upload: in that case the image is processed and stored on our servers (Hetzner, see section 4), not on third-party services. If you sign in with Google or with Apple, that service gives us your email and name, according to its own privacy policy (with Apple you can choose to hide your email: in that case we receive a forwarding address). We also record your confirmation that you are at least 18 and your choice about consenting to send game content to artificial intelligence services (section 3), each with the date you gave it.
2.2 Game content
Your character's name, race, class, background and other choices; the actions you send during campaigns; the messages and text you write to move the story forward. This content is processed by third-party artificial intelligence services to generate the narration (see section 4).
2.3 Technical data
Device token for sending push notifications; minimal technical server logs (for security, abuse prevention and error diagnosis) linked to the requests made to the App. This also includes an internal count, linked to your account, of your use of the Service (for example the number of campaigns and calls to artificial intelligence services), needed to apply your plan's limits and the fair use policy (see the Terms of Service) — it doesn't contain the text of your game actions, only aggregated counts and costs. When the App or the server runs into a technical error, we record an error report (the type of error, the place in the code where it happened, the request path, the App version, and the device's model and operating system) in an error tracking system (GlitchTip) installed on our own server: the report never leaves our systems and doesn't contain your email, name, game content or credentials.
2.4 Payment data (only if/when you activate a subscription)
We never receive or store the details of your card or payment method. In-app purchases are handled entirely by Apple (App Store) or Google (Google Play), according to their privacy policies. We only receive confirmation that a subscription or purchase is active, which plan or product it corresponds to and when it expires. To read this confirmation from the stores we use RevenueCat (section 4), to which we only pass your account's internal identifier.
2.5 Reports and moderation
If you report content from the App, we record who reported it, the reported content, the reason chosen and any description you write. If your content is reported, we read it in order to decide. We also record the decisions taken (for example removing a profile photo or suspending an account), with the date and the reasons.
2.6 Support requests
If you write to us from the Support section of the App, the request reaches us by email with the category and the text you wrote, together with your name, your email, your account's identifier, the App version and the operating system, so we can reply and understand the problem. The same applies to the emails you write to support@duskhearth.app.
3. Why we use this data
- Providing the Service: letting you play, generating the narration, keeping your campaign consistent over time. Legal basis: performance of the contract with you (art. 6(1)(b) GDPR).
- Sending content to artificial intelligence services: this is part of providing the Service (same legal basis). In addition, before sending any of your content to Anthropic and Voyage AI, the first time you sign in we ask for an explicit consent that names the two providers. You can withdraw it at any time from Profile → Legal → AI data sharing consent: from then on the features that use AI stay locked until you turn it back on. Withdrawal does not delete what has already been sent.
- Security and abuse prevention: detecting improper uses of the App. Legal basis: legitimate interest (art. 6(1)(f) GDPR).
- Content moderation: handling reports and taking the decisions described in the Terms of Service. Legal basis: legal obligation for anyone hosting user content (EU Regulation 2022/2065, art. 6(1)(c) GDPR) and legitimate interest in keeping the Service safe for everyone (art. 6(1)(f) GDPR).
- Diagnosing technical errors: understanding and fixing malfunctions. Legal basis: legitimate interest (art. 6(1)(f) GDPR).
- Support: answering your support requests. Legal basis: performance of the contract (art. 6(1)(b) GDPR).
- Managing plan limits and fair use: checking that your account's use stays within your plan's limits (structural and fair use), to keep the service stable for everyone. Legal basis: performance of the contract / legitimate interest (art. 6(1)(b) and 6(1)(f) GDPR).
- Push notifications: letting you know when it's your turn to play or when something has happened in your campaign. Legal basis: performance of the contract (it is a core feature of the Service); you can turn notifications off by category in your account settings.
- Managing your subscription (when active): billing through Apple/Google. Legal basis: performance of the contract.
We don't use your data for third-party advertising and we don't sell it to anyone.
4. Who we share data with (processors)
To provide the Service we rely on the following providers, which process data on our behalf:
| Provider | What it does | Data involved | Location |
|---|---|---|---|
| Firebase Authentication (Google LLC) | Handles sign-in and credentials | Email, password (hash) | USA |
| Firebase Cloud Messaging (Google LLC) | Sends push notifications | Device token | USA |
| Anthropic PBC | Generates the AI Narrator's narration | Game actions and text you send | USA |
| Voyage AI | Builds the campaign's narrative memory (embeddings) | Game text already narrated | USA |
| Hetzner Online GmbH | Hosts our server (database, backend, profile photos, error reports) and the backups | All the data above, at rest | Germany (server, Falkenstein) and Finland (backups, Helsinki) |
| RevenueCat, Inc. | Reads the status of subscriptions and purchases from the stores | Your account's internal identifier, products purchased and dates (never payment details) | USA |
| Apple Inc. / Google LLC | Process in-app payments | Payment details (never seen by us) | USA/Ireland |
| Zoho Corporation B.V. (Zoho Mail) | Support mailbox and sending the App's emails | Support requests, emails you write to us and emails we send you (for example the copy of your data) | European Union |
| Cloudflare, Inc. | Manages the domain (DNS records) | No content of your emails: mail sent to support@duskhearth.app goes directly to Zoho | USA |
Technical error tracking (GlitchTip) runs on our Hetzner server and involves no other provider.
5. Data transfers outside the European Union
Some of the providers above (Google/Firebase, Anthropic, Voyage AI, RevenueCat, Cloudflare) are based in the United States. Your data is transferred to these providers on the basis of the safeguards provided by European law for transfers outside the EU: the provider's certification under the EU-U.S. Data Privacy Framework, where available, or the European Commission's Standard Contractual Clauses, according to the agreements these providers make available to their customers.
6. How long we keep data
We keep your data for as long as your account is active. You can delete your account yourself from the app's profile (Profile → Danger zone → Delete account — step-by-step details on the Account deletion page), or ask us to do it by writing to support@duskhearth.app. In both cases we delete or anonymize your personal data (immediately if you do it from the app, within 30 days if you ask us by email), except for what we must keep to comply with legal obligations (for example billing data). If you have already played in campaigns shared with others, your profile (name, email, avatar) is anonymized but the character you created stays visible in the story, so it isn't interrupted for the other players.
After deletion we also delete your sign-in account (managed by Firebase Authentication) and keep only a fingerprint (a SHA-256 hash) of the technical identifier the app used to recognize you. It doesn't contain your email, your name or any other data about you, and we don't use it for anything else: it only serves to recognize a sign-in session that is still open, for example on another device, and block it, so the deleted account doesn't become active again by mistake. We keep it together with the rest of the anonymized profile. If you later sign up again with the same email, you start with a new account.
We back up the database every day, so we can restore it after a failure. Backups are deleted on a rolling basis, each one 30 days after it was taken: for a month after the deletion, the backups taken before it still contain your profile as it was, and we use them for nothing other than restoring the service. What is deleted and what remains is described in detail on the Account deletion page.
Some data has its own retention period:
- technical error reports: deleted automatically after 90 days;
- reports and moderation decisions: kept for as long as they are needed to handle the report and answer any appeal; if you delete your account, they stay linked only to the anonymized profile;
- support requests: they stay in the support mailbox until you ask us to delete them, or until they are no longer needed to follow up on your request.
7. Your rights
As a data subject under the GDPR, you have the right to:
- access your data and obtain a copy of it;
- ask for it to be corrected if it is inaccurate;
- ask for it to be deleted ("right to be forgotten");
- object to the processing or ask for it to be restricted;
- ask for data portability;
- withdraw at any time the consent you gave us (section 3), without affecting what was done before the withdrawal.
You can get a copy of your data (access and portability) yourself from the App: Profile → Legal → Get a copy of your data. We send to your account's email address a file in a readable format (JSON) with the data of your account, your characters and the actions you sent, plus your profile photo if you uploaded one; it doesn't contain the data of the other players in shared campaigns. You can ask for one a day. For this and for the other rights you can also write to support@duskhearth.app from your account's email address: we reply within one month. You also have the right to lodge a complaint with the Italian data protection authority, the Garante per la protezione dei dati personali (garanteprivacy.it), or with the authority of the EU country where you live, if you believe the processing breaches the law.
8. Minors
The Service is reserved for adults: you must be at least 18 years old to use it, and the first time you sign in we ask you to confirm this. The stores' 16+ rating concerns the App's content, not who can sign up. We don't knowingly collect data from minors: if you declare that you are under 18, or if we learn that an account belongs to a minor, we close it and delete the associated personal data.
9. Security
We take reasonable technical measures to protect your data (HTTPS/TLS encrypted connections between the app and the server, authentication handled by Firebase). No system is 100% invulnerable; if we become aware of a breach that concerns you, we will tell you as required by law.
10. Local storage on the device
Being a native application and not a website, the App doesn't use cookies in the traditional sense. It stores some preferences locally on your device (for example the session token and audio preferences) that it needs to work; this data stays on the device and is not shared with third parties beyond what is already described in this policy.
11. Changes to this policy
We may update this policy over time, for example if the providers we use or the applicable law change. Substantial changes will be communicated to you before they take effect, through the App or at your account's email address.
12. Contact
For any question about this policy or your data: support@duskhearth.app.