◇ privacy policy

how we handle your data

plain-english summary first · GDPR-compliant detail below · last updated 2026-05-04

◇ tl;dr
  • your uploaded TMX files are deleted from storage the moment cleaning finishes — never reused, never shared.
  • cleaned outputs auto-expire from storage 24 hours after completion.
  • we keep your email, signup IP, and job history metadata (file size, timestamps, segment counts — never content) until you ask us to delete the account.
  • no advertising trackers, no analytics scripts, no marketing emails. payment is via Stripe — we never see your card.
  • everything is hosted in the EU (Hetzner Germany / Cloudflare R2 EU jurisdiction / Mailgun EU).

━━ who we are

TM Cleaner is operated by terratra. For data-protection enquiries, requests to access / delete your data, or any other privacy questions, email hello@terratra.com. We aim to respond within 30 days of any GDPR data- subject request.

━━ what we collect, and why

datawhylegal basisretained
email addressaccount identity · magic-link sign-in · account-related notifications (only if you initiated them)contract (Art. 6(1)(b))until account deletion
signup IP addressrate-limit / anti-abuse (cap free-tier accounts per IP)legitimate interest (Art. 6(1)(f)) — preventing platform abuseuntil account deletion
uploaded TMX filesthe cleaning operation you requestedcontracthard-deleted the moment cleaning completes (typically minutes)
cleaned output filesletting you download the resultcontract24 hours after cleaning completes (then auto-purged via R2 lifecycle); you can also manually delete from the dashboard at any time
job history metadatafilename, size, segment counts, removed counts, timestamps, cost — for your dashboard view + billing reconciliation. NEVER segment text content.contract + legitimate interestuntil account deletion
Stripe customer ID + card metadataprocessing top-up payments. WE NEVER SEE OR STORE YOUR CARD — Stripe stores it; we keep only their reference id (cus_…).contract + legal obligation (tax records)Stripe retains payment records per their policy + applicable tax law (typically 7-10 years)
session cookiekeeps you signed in. ONE cookie, signed, SameSite=Lax, HttpOnly, Secure. No tracking, no advertising id.strictly necessary (no consent required under GDPR / ePrivacy)7 days · refreshed on each visit · cleared on sign-out

━━ who we share data with

We use a small, deliberate set of EU-based subprocessors. Each is contractually bound to GDPR-compliant handling of your data. We do NOT share or sell your data to advertisers, brokers, or anyone else.

processorpurposedata location
Hetzner Online GmbHapplication + database hostingGermany (EU)
Cloudflare R2file storage (uploads + outputs)EU jurisdiction
Mailgun (EU)transactional email (magic links + contact replies)EU (api.eu.mailgun.net)
Stripepayment processingglobal · GDPR-certified · DPA in place

━━ your rights under GDPR

As a data subject in the EU/EEA you have the following rights. To exercise any of them, email hello@terratra.com from the email address tied to your account. We respond within 30 days (Art. 12(3)).

━━ what we do NOT do

━━ international transfers

Operational data (uploads, outputs, account, billing metadata) stays in the EU. The single exception is Stripe — payment processing that may transit the United States under their EU Data Processing Addendum (Standard Contractual Clauses, GDPR-compliant transfer mechanism).

━━ security

TLS 1.2+ on every connection · HSTS preload · strict CSP · XXE-safe XML parsing (defusedxml) · no password storage (magic-link auth) · 7+ external security audit passes against the cleaning + billing surfaces. Full posture documented at /under-the-hood.

In the unlikely event of a personal-data breach we will notify the relevant supervisory authority within 72 hours (Art. 33) and notify affected users without undue delay (Art. 34).

━━ changes to this policy

We'll update the "last updated" date at the top of this page when something material changes. Substantive changes (new processor, new data category, retention-period extension) will also be emailed to active accounts at least 30 days before they take effect.