Privacy Policy
This is a courtesy translation; in the event of any discrepancy, the German version (“Datenschutzerklärung”) prevails.
1. Controller
Constantin Persaud
Lindenstraße 257
40235 Düsseldorf
Germany
Email: hello@typedhand.com
A data protection officer has not currently been appointed.
2. What data we process
In connection with the use of TypedHand we process in particular:
- Account data: email address, authentication data. When you sign in with Google, also the profile details Google passes on (name, profile picture).
- Handwriting samples: the filled-in template sheets uploaded by users (as a photo or scan in JPEG, PNG or HEIC/HEIF format, or as a PDF), processed to generate a personal font. If a photo cannot be read, we also keep it for 7 days for error analysis, and the controller can look at it for that purpose (see retention below). The uploaded file is stored unchanged, so a photo may also contain image content beyond the sheet itself. These are personal data.
- Link for uploading from a phone: if you have a QR code for uploading shown on your computer, we create a link with a random identifier that cannot be guessed. We store only a check value (hash) of that identifier, together with your account identifier, the template sheet you chose, the time it was created, first opened and last opened, its expiry and the jobs started through it. The link is valid for 24 hours and only allows handwriting samples to be uploaded for your account; it gives no access to fonts, exports, your account or payment, and the page on the phone shows nothing from your account. A new code makes the earlier one invalid, and you can switch the code off on the page itself. We delete expired or switched off links the next time you create a code, and at the latest with your account. If you have consented to statistics on the phone, we attach the events of that page to your account so that the path from the template to the font can be evaluated as one; without that consent we send nothing from there to PostHog.
- Generated documents: exported PDF and GoodNotes files, insofar as they are created during use.
- Usage data: e.g. monthly export counter, plan, whether and when you downloaded the template, uploaded something or exported.
- Anonymous base reach data (always, no consent required): page view, time on page and scroll depth, device type, referrer/origin URL. This data is collected without a cookie, without local storage and without a recognisable identifier — a page view cannot be linked to a person or to a later visit.
- Statistics/analytics data (only with consent): pseudonymous usage data such as page views, click and scroll interactions, a pseudonymous identifier, approximate origin, device/browser type, and session recordings (mouse/click movements; text inputs are masked and not captured).
- Campaign origin (only with consent to statistics or marketing): which ad campaign (UTM parameters), which referring page and which landing page first brought you to us, with the time. If you sign up, it is stored with your account.
- Consent/age data: the confirmation of being at least 16 years old, as well as the consent version and time. The date of birth is only requested for the age check and is not stored after the check. For consents you give (cookie decision, agreeing to immediate performance at purchase, the reminder that your exports are back under number 10) we keep the time, email address, IP address and browser identifier as proof.
- Payment data: handled via Stripe.
- Email delivery data: which email we sent you and when, whether it could be delivered, and whether you unsubscribed from the setup emails (number 9).
- Error data: technical details of program errors (number 4, Sentry).
- Cancellations: what you enter on the “Cancel your contract here” page (email address, optionally your name, the contract, the type of cancellation and any reason, the requested date), with the date and time of receipt.
- Handed-over text (only when you use our ChatGPT integration): the text you want to see in your handwriting, retrievable for at most 24 hours. See number 4 for details.
- Voluntary information: if you tell us how you heard about TypedHand, we store that answer with your account to understand which channels bring people to us. It is optional and is deleted with your account.
- User quotes: if you send us a sentence in the app about what you use TypedHand for, we store it with your first name, location, language and the time. If you consent to its publication, we also store proof of that consent (time, version of the consent text, IP address and browser identifier). A sentence you send as feedback only is never published.
- Share link: a random code assigned to your account the first time you open your link. If someone comes to us through your link, we treat the code like a campaign origin (only with that person's consent to statistics or marketing). We do not tell you who signed up through your link.
In app survey
If you take part in our short survey in the app, we store your selected answers and, if you type something, your free text together with your account. We use this information only to improve TypedHand. The legal basis is our legitimate interest in improving our service (Art. 6(1)(f) GDPR). Taking part is voluntary. Your answers are deleted when you delete your account.
Carrying on in the editor
When you write in the editor while signed in, we automatically save the document of your account that was edited last: the text, the handwriting used, the paper type, the editor settings (for example size, spacing and colours) and a number that brings the letters back the way you left them. There is exactly one document per account; each save replaces the previous one. The purpose is that you can carry on where you stopped on your next visit. The legal basis is performance of the contract, Art. 6(1)(b) GDPR. The content of the document is not sent to analytics services. We keep it until you replace it with a newer document or delete your account. It is deleted together with your account and is included in your data export (“Export my data”). After deletion it can remain in our backups (number 5) for up to 63 days.
3. Purposes and legal bases (Art. 6 GDPR)
- Provision of the account, generation of the font and export: performance of the contract, Art. 6(1)(b) GDPR.
- Processing of handwriting samples to create the individual font: Art. 6(1)(b) GDPR; where necessary, explicit consent under Art. 6(1)(a) GDPR.
- Uploading from a phone through a QR code without logging in: performance of the contract, Art. 6(1)(b) GDPR. Securing the link (expiry after 24 hours, a limit on requests per connection, revocation) rests on our legitimate interest in the security of the account, Art. 6(1)(f) GDPR.
- Payment processing and retention of invoice data: legal obligation, Art. 6(1)(c) GDPR.
- Handling and confirming cancellations: performance of the contract and legal obligation (§ 312k BGB), Art. 6(1)(b) and (c) GDPR.
- Security and operation of the application, in particular preventing misuse and errors and error monitoring with Sentry: legitimate interest, Art. 6(1)(f) GDPR.
- Keeping and viewing an uploaded photo we could not read, for error analysis (7 days): legitimate interest in a working service and in improving photo recognition, Art. 6(1)(f) GDPR. You can object to this viewing at any time under Art. 21 GDPR by writing to us; you can also delete the photo yourself in your account.
- Age check at registration: legitimate interest in legally compliant operation, Art. 6(1)(f) GDPR.
- Proof of consents and of an account deletion: legitimate interest in demonstrating our compliance and defending legal claims, Art. 6(1)(f) GDPR, after the account is deleted Art. 17(3)(e) GDPR.
- Setup emails: Art. 6(1)(b) and (f) GDPR; see number 9.
- Reminder that your exports are back: your consent, Art. 6(1)(a) GDPR; see number 10.
- Your optional answer to how you heard about TypedHand: legitimate interest in knowing which channels bring people to us, Art. 6(1)(f) GDPR. You can skip the question; the answer does not depend on consent to statistics.
- Publishing user quotes on typedhand.com and in descriptions of TypedHand's own videos: your consent, Art. 6(1)(a) GDPR. A quote is published only after we have reviewed it, and only word for word. You can withdraw your consent at any time without giving a reason by writing to hello@typedhand.com, with effect for the future; the quote is then removed within 7 days. A sentence you send as feedback only is used solely to improve TypedHand: legitimate interest, Art. 6(1)(f) GDPR.
- Share link: providing the link as a feature of your account, Art. 6(1)(b) GDPR. Attributing a signup to a link is part of the campaign origin and happens only with consent, Art. 6(1)(a) GDPR.
- Anonymous base reach measurement (page views, time on page, scroll depth, device type, referrer) via PostHog: legitimate interest in knowing our advertising and traffic volume, Art. 6(1)(f) GDPR. This measurement happens without cookies, without local storage and without a personal identifier, so § 25(1) TDDDG (which only governs access to information stored in the terminal equipment) does not apply here; consent is therefore not required. Your IP address is transmitted to PostHog in the process; PostHog does not store it, because IP anonymisation is active in our PostHog project. Also without consent, our server reports to PostHog whether an upload produced a font: the duration, the number of photos and of unreadable photos with the type of error, the device class and the kind of template sheet. Instead of your account, this report carries a random ID of the upload, and no person profile is created at PostHog; in our database the ID can be linked to your account. Your device is not accessed for this. If you consented to statistics, the same report is linked to your pseudonymous profile (next point). You can object to this processing at any time under Art. 21 GDPR (see section 6).
- Any further-reaching reach measurement and product improvement using statistics tools (PostHog, Vercel Web Analytics), including person-level analysis across multiple visits and session recordings, and storing the campaign origin: solely on the basis of your consent, Art. 6(1)(a) GDPR in conjunction with § 25(1) TDDDG. Without consent, no such analysis takes place. You can withdraw consent at any time with effect for the future — via “Cookie settings” in the footer.
- Ad performance measurement using the TikTok Pixel and the TikTok Events API: solely on the basis of your consent, Art. 6(1)(a) GDPR in conjunction with § 25(1) TDDDG. Without consent, the pixel is not loaded and our server sends no events to TikTok. You can withdraw consent at any time with effect for the future — via “Cookie settings” in the footer.
4. Processors and third-party providers
Several of the providers below are based in the USA, as stated for each. We base any transfer of personal data to the USA on the EU-US Data Privacy Framework where the provider is certified under it, and otherwise on the EU Standard Contractual Clauses (Art. 45, Art. 46(2)(c) GDPR). For the United Kingdom, the European Commission has found the level of data protection adequate (Art. 45 GDPR).
- Supabase (database, authentication, file storage of handwriting samples, fonts and exports). The data centre is in London, United Kingdom (AWS region eu-west-2). The provider is Supabase Inc., USA.
- Stripe (payment processing via Stripe’s checkout page). The contracting party is Stripe Payments Europe, Ltd., Ireland. Stripe processes payment and contact data partly as an independent controller (for example for fraud prevention and to meet legal obligations) and also transfers data to Stripe, Inc., USA (EU-US Data Privacy Framework or Standard Contractual Clauses).
- Vercel (hosting of the web application and — only with consent — Vercel Web Analytics for cookieless reach measurement). The application’s server functions run in London, United Kingdom (region lhr1); the website is delivered through Vercel’s global network. The provider is Vercel Inc., USA.
- Railway (the server that generates the font from your handwriting samples; it loads the uploaded file from the file storage and puts the finished font back there). Location: Amsterdam, Netherlands. The provider is Railway Corporation, USA.
- Sentry (error monitoring). When a program error occurs in the browser or on the server, we send technical details about it: the error message, the page concerned, browser and device type, for server errors sometimes your account ID; your IP address is transmitted in the process. This happens regardless of cookie consent because it serves secure operation. Stored in Sentry’s EU data region (Germany). The provider is Functional Software, Inc., USA.
- Resend (sending our emails: sign-up confirmation and password reset, setup emails, notices about uploads we could not read, templates sent on request, the reminder that your exports are back, sent on request, and cancellation confirmations). Resend receives your email address and the content of the message and tells us whether it could be delivered. Provider based in the USA.
- IONOS (the hello@typedhand.com mailbox). Messages to us and cancellations received through the “Cancel your contract here” page are kept in this mailbox. The provider is IONOS SE, Montabaur, Germany.
- Sign in with Google (optional). If you choose “Sign in with Google”, Google signs you in and passes us your email address and profile details (name, profile picture). Google is responsible for the processing on its side; its privacy terms apply.
- Handover from ChatGPT (optional). If you use our integration in ChatGPT (OpenAI), it sends the text you asked for to our interface so you can open it in your handwriting. We store that text with Supabase (London, see above), not linked to your account until you open the link; from then on it is linked to your account. After 24 hours it can no longer be opened and it is deleted, at the latest during the following night. It is not included in our database backups. OpenAI alone is responsible for processing what you enter in ChatGPT; its terms apply. We send nothing to OpenAI.
- PostHog (product analytics). Runs in two tiers: an anonymous base reach measurement (page views, time on page, scroll depth, device type, referrer, no cookies, no identifier) always, plus — only with consent — usage statistics and session recordings with a pseudonymous identifier. In addition, our server reports whether an upload produced a font (number 3). Your IP address is transmitted but not stored by PostHog (IP anonymisation active). Processing via the EU cloud (Frankfurt, AWS eu-central-1); the provider is PostHog Inc., USA, on the basis of a data processing agreement. The service is called via our own subdomain (t.typedhand.com) as a reverse proxy.
- Cloudflare (operation of the DNS zone for typedhand.com, and Cloudflare R2 as the location of the weekly backups of the database and the file storage; the file storage backup also covers uploaded handwriting samples and the fonts generated from them, but not photos we could not read). Cloudflare is not placed as a CDN or proxy between your browser and this website — the website itself is served via Vercel. The provider is Cloudflare, Inc., USA. The storage location of the backups is not restricted to the EU; they may be stored in the USA. We base this transfer on the EU-US Data Privacy Framework, under which Cloudflare is certified.
- GitHub (running the weekly backup). The backup of the database and the file storage runs as an automated job on a GitHub Actions server; the data is there only while the job runs and is discarded with the job’s environment. The provider is GitHub, Inc., USA.
- TikTok (TikTok Pixel and TikTok Events API for ad performance measurement and audience building) — only with consent. Besides the pixel in the browser, our server sends an event to TikTok when you sign up, when you start checkout and when a subscription is taken out, with your email address and account ID as SHA-256 hashes, your IP address and browser identifier; this too only if you consented to marketing. Provider is TikTok Technology Limited resp. TikTok Information Technologies UK Limited; data transfer to third countries (incl. the USA) is possible and is based on EU Standard Contractual Clauses (Art. 46 GDPR).
5. Retention period and deletion
We store account and handwriting data for as long as the account exists. After deletion of the account, all associated data is deleted from the live system within 14 days, including uploaded templates, generated fonts, stored exports and your person profile with its events at PostHog.
We back up the database and the file storage weekly (number 4, Cloudflare R2). Each backup is deleted after 56 days; because that deletion happens with the weekly run, copies of deleted data are gone from the backups too no later than 63 days (9 weeks) after the deletion. Photos we could not read and text handed over from ChatGPT are not part of the backups. In rare cases, a photo that was still being processed when a backup ran can remain in that backup for up to 63 days.
A photo you uploaded that we could not read is kept apart from your other files for 7 days. The purpose is error analysis: we want to understand why the photo could not be read (for example missing corner marks, blur or a screenshot) and improve recognition. Our server and the controller of this website (see the legal notice) have access. The controller can look at such a photo for error analysis in a protected area that only administrators can open; the photo opens through a link that expires after 60 seconds. Nobody else has access. The legal basis is our legitimate interest in a working service and in fixing errors, Art. 6(1)(f) GDPR. After 7 days the photo is deleted automatically, and you can delete it yourself before then. It is included in your data export and deleted together with your account.
Exempt from deletion after 14 days are records we need to defend legal claims (Art. 17(3)(e) GDPR): proof of consents given (number 2) is kept until 3 years have passed since it was given; a log of the account deletion (email address, IP address, browser identifier, time) for 3 years from the deletion. Both are then deleted automatically.
Cancellations received through the “Cancel your contract here” page are stored in our database and as an email in our inbox. They are kept as proof of when the contract ended until the regular 3-year limitation period (from the end of the year of the cancellation) has expired.
Invoice and accounting-relevant documents are stored for 10 years due to statutory retention obligations and deleted afterwards.
6. Your rights as a data subject
You have the right of access (Art. 15), rectification (Art. 16), erasure (Art. 17), restriction of processing (Art. 18), data portability (Art. 20) and objection (Art. 21 GDPR). You can withdraw any consent given at any time with effect for the future. You have the right to lodge a complaint with a supervisory authority (Art. 77 GDPR).
You can exercise some of these rights directly in your account settings: “Export my data” (Art. 15, 20) and “Delete account” (Art. 17).
Competent supervisory authority: Landesbeauftragte für Datenschutz und Informationsfreiheit Nordrhein-Westfalen (LDI NRW), Kavalleriestraße 2–4, 40213 Düsseldorf.
7. Minors (Art. 8 GDPR)
TypedHand is aimed exclusively at persons aged 16 and over. When you register with an email address we check the date of birth provided. Persons under 16 are blocked server-side; no account is created and no personal data is stored. The date of birth itself is discarded after the age check and not stored; we keep only the confirmation of being at least 16 years old, together with the consent version and time. Anyone who signs in with Google confirms once, expressly, that they are at least 16 years old and accepts the Terms; the same confirmation is stored.
8. Cookies and local storage (TDDDG)
On your first visit we ask for your consent via a cookie banner. We distinguish four categories:
- Strictly necessary (always active): storage and access needed for login and session security (Supabase), the language choice (cookie “th_lang”, 12 months) and to store your cookie decision (cookie “th_consent”), and storage that makes a function you asked for possible: paper format and multiplication sign for templates and maths (cookies “th_paper” and “th_mul”, derived on the first visit from the country you connect from, 12 months), the plan you chose when you sign in before buying (cookie “th_checkout_intent”, 1 hour), the reference to a text handed over from ChatGPT when you sign in or sign up first (cookie “th_handoff”, 24 hours), your the link to the upload page that a QR code opens on your phone, until you close the tab (session storage, entry “th_pu”), your editor settings and drafts, and a note that the free export in the try-it-out mode has been used (local storage, entries “th_…”). Legal basis: § 25(2) TDDDG or Art. 6(1)(b) and (f) GDPR. No consent is required for this.
- Anonymous base reach measurement (always active, no consent required): a part of PostHog records page view, time on page, scroll depth, device type and referrer without setting cookies or accessing local storage (technically enforced:
disable_persistence, no person profile). Because nothing is stored on or read from your device, § 25 TDDDG does not apply; the legal basis is legitimate interest in reach measurement, Art. 6(1)(f) GDPR. - Statistics (only with consent): PostHog and Vercel Web Analytics. These services are only loaded and only set cookies or access local storage after you have consented. Legal basis: § 25(1) TDDDG in conjunction with Art. 6(1)(a) GDPR. To recognise you within a session, PostHog stores, among other things, a pseudonymous identifier (cookie “ph_…”) with a lifetime of up to 12 months.
- Marketing (only with consent): TikTok Pixel. The pixel is only loaded and only sets cookies after you have consented. Legal basis: § 25(1) TDDDG in conjunction with Art. 6(1)(a) GDPR. The TikTok Pixel is used to measure ad performance and to build audiences for future ads.
We only put the campaign origin (number 2) into local storage (entry “th_first_touch”) once you have consented to statistics or marketing.
Your cookie decision is stored for 6 months; after that we ask again. You can change or withdraw your consent at any time with effect for the future — via “Cookie settings” in the footer. Withdrawal is as easy as giving consent.
9. Setup emails
After you sign up we send you up to three short notes that help with setting up, each only while the step in question is still open: if you have not downloaded the template a few hours after signing up, if no photo has arrived a day after the download, and on the fifth day if you have not exported anything yet. The three notes end no later than 30 days after sign-up. On top of that, at most once, a note with help on uploading if you downloaded the template but had not uploaded anything a day later. At least 24 hours pass between two of these emails.
For this we use when you signed up, downloaded the template, uploaded or exported something, and your language setting. We record which email went to you and when, and whether it could be delivered, so that none arrives twice. Sent via Resend (number 4).
Legal basis: the notes are part of the service you signed up for (Art. 6(1)(b) GDPR); to the extent they go beyond it, we rely on our legitimate interest in making the start easier for you (Art. 6(1)(f) GDPR). We point out that you can unsubscribe already when you sign up.
You can object to these emails at any time, at no cost other than the transmission costs under the basic rates: via the unsubscribe link in each of these emails or by email to hello@typedhand.com. After that you receive no more setup emails, and no reminder under number 10 either. Messages that answer something you did yourself (for example that an uploaded photo could not be read, or the confirmation of a cancellation) still reach you.
10. Reminder that your exports are back
When you have used all of this month’s exports on the free plan, the editor shows a box under the notice about it and in the plans window: “Email me when my exports are back. Just that one email, unsubscribe any time.” It is never ticked in advance. If you tick it, we send exactly one email to your account’s address once your allowance has reset. It goes out with our daily run at 9:00 (UTC), so on the day of the reset or the morning after. It only says that your exports are back and names no price, no plan and no discount code. It contains no tracking pixel, and its link goes straight to the editor without a redirect. Sent via Resend (number 4).
The email is not sent if you untick the box before then, have moved to a paid plan in the meantime, have already exported again after the reset, have unsubscribed from our emails (number 9), or your email address is not confirmed. A tick only covers the reset it was given before; after that no further reminder comes, even if the email could not be delivered.
As proof we store, for every tick and every untick: the time, your account ID, your email address, the version of the consent text, a checksum (SHA-256) of the wording you saw, the language, the reset date the consent is for, and your IP address and browser identifier. We record which email went to you and when, and whether it could be delivered, so that it comes only once. These records are kept as long as your account exists; after the account is deleted we keep them until 3 years have passed since they were given, and then delete them automatically (number 5).
The legal basis is your consent (Art. 6(1)(a) GDPR). You can withdraw it at any time without giving a reason, with effect for the future: by unticking the box while it is shown, via the unsubscribe link in our emails (the reminder itself carries one too), or by email to hello@typedhand.com. The unsubscribe link covers both: after it you receive neither this reminder nor setup emails.
11. Changes to this policy
Policy version: October 2026.
We adapt this privacy policy when the legal situation, the services used or our data processing change.