Legal

Privacy policy

The short version: this website has no analytics, no advertising and no tracking. We only process what it takes to deliver the site, run the beta waitlist, sell you a license and let you activate it.

Datenschutzerklärung Last updated 30 October 2026

Who is responsible

The controller under the General Data Protection Regulation (GDPR) is:

Screen Island GmbH
Falkenstrasse 8
35576 Wetzlar
Germany
[email protected]

Managing Director: Bijan Rahnema. For any privacy question, write to the address above.

What we don’t do

  • No analytics or advertising services and no tracking scripts. The only statistics we see are Cloudflare’s aggregate traffic numbers (see below).
  • No tracking cookies, pixels or fingerprinting.
  • No third-party embeds, social media plugins or externally loaded fonts. Fonts, scripts, images and audio are served from our own server.
  • No selling or sharing of your data for marketing.

Visiting this website

When you open a page, your browser necessarily sends technical connection data to our server: your IP address, the date and time, the requested address and your browser’s user agent. We use this data only to deliver the page and to protect the service against abuse, for example by limiting the number of requests.

Requests reach our server through Cloudflare (Cloudflare, Inc., 101 Townsend St, San Francisco, CA 94107, USA), which delivers the site and protects it against attacks and abuse. Cloudflare processes connection data on our behalf under a data processing agreement (Art. 28 GDPR), may process it in the United States and keeps it only briefly for security purposes. Such transfers are based on the EU–US Data Privacy Framework, under which Cloudflare, Inc. is certified, and on the European Commission’s standard contractual clauses. Cloudflare shows us aggregate traffic statistics, such as the number of requests per country, but no information about individual visitors. See Cloudflare’s privacy policy.

Our application writes no access logs. The server is operated for us by a hosting provider in Germany that processes data only on our instructions under a data processing agreement (Art. 28 GDPR); its reverse proxy keeps short, rotating technical logs for operating the service.

Legal basis: our legitimate interest in providing a secure, working website (Art. 6(1)(f) GDPR).

The browser playground

The playground on the home page runs entirely in your browser. Its audio loops are loaded from our server only after you start it. Your clicks, key presses and mixes are not sent to us, nothing is uploaded, and the page does not ask for microphone or camera access.

The beta waitlist

When you join the waitlist for the private beta, we store your email address, the kind of computer you chose (Mac, Windows or Linux), the language of the page you signed up on (so our emails reach you in it), the time you signed up and a hash of a random token. We then send you one email with a link to confirm your address (double opt-in). Only once you open it are you on the list; sign-ups that aren’t confirmed are deleted after seven days. We record when you confirmed.

We use the list only to invite you to the beta and to tell you about Grit’s launch. We don’t share it with anyone. The confirmation email contains a link to leave the list, which deletes your entry straight away; you can also email us. Emails are delivered through our email service provider, acting as our processor (Art. 28 GDPR).

Legal basis: your consent (Art. 6(1)(a) GDPR), which you can withdraw at any time with effect for the future.

Our Discord server

Our community and the beta run on a server on Discord, operated for users in the EU by Discord Netherlands BV. This website only links to it; nothing from Discord is loaded on our pages. If you join, Discord’s own terms and privacy policy apply to your account. As the server’s operators we see what members can see: your Discord username and profile, your roles and the messages you post on our server. We use this to run the community and the beta. Legal basis: our legitimate interest in running a community for Grit (Art. 6(1)(f) GDPR). You can leave the server at any time.

Once we’ve invited you to the beta, you can connect your Discord account from your account on this website if you like; the beta works without it. Discord then shows you what it shares: your Discord user ID and username, and permission to add you to our server. Our server uses this once to add you with the Beta role and stores your user ID and username with your waitlist entry, so we know which account has the role and can remove it. We don’t keep Discord’s access token. Legal basis: Art. 6(1)(b) GDPR, giving you the beta access you asked for. If we remove you from the beta, we take the role away and delete the entry.

Buying Grit

Payments are handled by Stripe Checkout, operated by Stripe Payments Europe, Ltd., 1 Grand Canal Street Lower, Grand Canal Dock, Dublin, D02 H210, Ireland. When you buy, you enter your payment details, email address and billing address directly on Stripe’s checkout page. We never see or store your card or bank details. Stripe uses your billing address to calculate the correct VAT and to issue your invoice.

Stripe processes this data partly on our behalf and partly as an independent controller, for example for fraud prevention and its own legal obligations as a payment provider. Stripe may transfer data to Stripe, Inc. in the United States. Such transfers are based on the EU–US Data Privacy Framework, under which Stripe, Inc. is certified, and on the European Commission’s standard contractual clauses. See Stripe’s privacy policy.

After a successful payment, we store:

  • your email address from the checkout,
  • the Stripe identifiers of your checkout session and payment, and the identifiers of related Stripe events,
  • the order status (pending, paid or revoked after a refund or chargeback),
  • the Stripe invoice identifier, the order date, the number of computers your license allows and when we last emailed you about your purchase,
  • when you agreed, before paying, that we deliver right away and that your right of withdrawal ends with it, and the language you bought in. We keep this as proof for as long as the order data.

A checkout you don’t complete leaves no email address with us.

Legal basis: performing our contract with you (Art. 6(1)(b) GDPR) and our statutory bookkeeping and tax obligations (Art. 6(1)(c) GDPR).

The purchase cookie

When you start a checkout, we set a single cookie named grit_order. It contains a random order reference and secret, is only sent to /api/order, cannot be read by scripts (HttpOnly) and expires after seven days. Its only purpose is to let the browser you bought with show your purchase on the confirmation page and sign you in to your account there. We don’t use it for anything else.

This cookie is strictly necessary to provide the service you asked for, so no consent is required (§ 25(2) No. 2 TDDDG). The related processing is based on Art. 6(1)(b) GDPR.

Your language

The home page comes in English and German. When you open it, our server reads the language your browser asks for, which every browser sends with each request, and shows the German page if that is German. We don’t store it. If you choose a language at the bottom of a page, we set a cookie named grit_lang. It holds only en or de, cannot be read by scripts and expires after one year, so the site remembers your choice.

This cookie stores a setting you asked for, so no consent is required (§ 25(2) No. 2 TDDDG).

Purchase email and signing in

After your payment we email the download link to the address from your checkout. There is no license key and no password: you sign in to your account and to the app with that email address and a six-digit code we email you.

When you ask for a code, we store a keyed hash of it (not the code itself) with your email address, the time and the number of attempts. A code works once, expires after ten minutes and is deleted after use or five wrong attempts. We only send codes to addresses that bought Grit, and our answer is the same for every address, so nobody can find out whether an address is a customer.

Signing in on this website sets a cookie named grit_session. It holds a random token, is only sent to our /api/ endpoints, cannot be read by scripts and expires after 30 days or when you sign out. Signing in in the app stores a similar token in the app. On our side we keep a hash of each token with your email address, its type (website or app), the app’s installation ID and the expiry date, and delete it when it expires, when you sign out, when you deactivate that computer, or when your beta access ends because you leave the beta or we remove you from it and you have no license. This is strictly necessary for the service you asked for (§ 25(2) No. 2 TDDDG; Art. 6(1)(b) GDPR).

Emails are delivered through an email service provider acting as our processor under Art. 28 GDPR. Legal basis: Art. 6(1)(b) GDPR.

We also give licenses away, for example to friends of the team or for reviews. For those we store your email address, the date, the number of computers, a short note on why you got it, which of us gave it and the message we sent with it, for as long as the license exists. Taking a license back deletes it. Legal basis: Art. 6(1)(b) GDPR.

Activating Grit on your computers

A license or beta access can be active on a limited number of computers, two unless your account shows otherwise. When you sign in and activate Grit, the app sends us your email address, a random installation ID generated by the app, and your computer’s name as set in its system settings. We store the installation ID, the name and the activation date with your order or beta access. The signed-in app checks your license or beta access with our server from time to time, and at least every 30 days during the beta, so a computer you deactivate, or beta access that ends, stops being activated. We don’t collect hardware serial numbers or other device identifiers.

At launch and about every 12 hours the app also asks our server for the latest version, so it can tell you about updates. That request contains no account data; our server sees only the technical connection data described above. The Mac App Store version does neither: Apple handles its activation and updates.

When you download Grit from your account, we note your email address, which build you downloaded (its file name and platform) and when, so we know which versions testers and customers use and can spot a shared download link. We keep these records for twelve months. Legal basis: our legitimate interest in supporting the versions in use and keeping test builds among testers (Art. 6(1)(f) GDPR).

Grit prepares and plays your music locally on your computer. Your audio files are never uploaded to us. A performance does not need a connection to our server.

For tracks without cover artwork, the app looks up the artist and title with the public MusicBrainz and Cover Art Archive services, operated by the MetaBrainz Foundation in the USA. Only the artist and title text is sent, never audio or file paths. As with any request, those services see your IP address. We don’t receive or store this data; the MetaBrainz Foundation’s privacy policy applies.

You can see and remove activated computers at any time in your account; removing a computer deletes its record and signs it out. Legal basis: Art. 6(1)(b) GDPR, and our legitimate interest in enforcing the license’s computer limit (Art. 6(1)(f) GDPR).

Grit from the Mac App Store

If you get Grit from the Mac App Store, Apple sells it to you and handles the payment, any refund and the updates. Apple’s terms and privacy policy apply to that purchase; we only receive sales figures, without your name or contact details.

This version has no account and doesn’t contact our server: no sign-in, no activation, no update check and no crash reports to us. If you allow it in your Mac’s settings, Apple may share crash data with us, without your name or contact details. The cover lookup described above works the same way.

Feedback tickets

Testers and customers can report bugs, share ideas and ask questions in their account. We store your email address, the ticket’s kind, title, computer and Grit version, the language of the page you filed it on, every message with its time, and the files you attach (for example screenshots, screen recordings, logs or crash reports, which can contain your computer’s name or file paths). Only you and our team can see them. We email you when we answer. Tickets and their files are deleted twelve months after the last message or change. Legal basis: Art. 6(1)(b) GDPR, as support for your license or beta access.

Crash reports

When Grit or one of its helper processes crashes, the app sends us a crash report by itself, at its next start if need be, while you are signed in. It contains your email address (through your sign-in), a random ID for the report, the Grit version and build, your computer’s platform, processor architecture and operating system version, the time of the crash, which part of Grit crashed, the error message, the place in Grit’s code, the thread’s name and the list of functions of Grit and its libraries that were running (a stack trace), with the identifiers of those program files. Before sending, the app removes the paths to your files, which could contain your user name or the names of your tracks. A report never contains audio.

We use the reports to find and fix crashes: we group the reports of one crash, and we may ask you about a report in a ticket in your account, which we email you in the language of your tickets, your waitlist sign-up or your order. Only our team sees the reports. They are deleted 180 days after they arrive. You can turn crash reports off in Grit’s settings at any time; the app then sends none. Legal basis: our legitimate interest in finding and fixing errors in Grit (Art. 6(1)(f) GDPR).

Contacting us

If you email us, we use your address and message to answer you. Legal basis: Art. 6(1)(b) GDPR where your message relates to a purchase or contract, otherwise our legitimate interest in answering enquiries (Art. 6(1)(f) GDPR). We delete correspondence when it is no longer needed, unless statutory retention periods apply.

How long we keep data

  • Order, payment and invoice records: ten years, as required by German tax and commercial law (§ 147 AO, § 257 HGB).
  • Activated computers: for the life of the license or of your beta access, or until you remove the computer.
  • Licenses we gave away: until we take them back.
  • Records of your downloads of the app: twelve months.
  • Feedback tickets with their messages and files: twelve months after the last message or change.
  • Crash reports: 180 days after they arrive.
  • The purchase cookie: seven days.
  • The language cookie: one year.
  • The beta waitlist, including a connected Discord user ID and username: until you leave it, at the latest when we close it after the launch. Unconfirmed sign-ups: seven days.
  • Sign-in codes: until used, and at most ten minutes. Website sessions: 30 days; app sessions: one year. Both end earlier when you sign out or deactivate the computer.
  • Connection data: in our application only for the duration of the request; in Cloudflare’s and our hosting provider’s technical logs for a short time.

Who receives data

Only the service providers named above: Cloudflare, our hosting provider, Stripe, our email service provider and, for beta testers who connect their account, Discord, each limited to what their service requires. We may also disclose data where we are legally obliged to, for example to tax authorities.

Your rights

Under the GDPR you have the right to:

  • access the data we hold about you (Art. 15),
  • have incorrect data corrected (Art. 16),
  • have data erased (Art. 17),
  • restrict processing (Art. 18),
  • receive your data in a portable format (Art. 20),
  • object at any time to processing based on our legitimate interests, on grounds relating to your particular situation (Art. 21),
  • withdraw any consent you have given, with effect for the future (Art. 7(3)).

To exercise these rights, email [email protected]. Statutory retention obligations can prevent immediate erasure; in that case we restrict the data to that purpose.

You also have the right to lodge a complaint with a data protection supervisory authority. The authority responsible for us is Der Hessische Beauftragte für Datenschutz und Informationsfreiheit, Gustav-Stresemann-Ring 1, 65189 Wiesbaden, Germany. You can also contact the authority where you live or work.

Do you have to provide data?

Browsing this site and using the playground requires no personal data beyond the technical connection. To join the beta waitlist, we need your email address. To buy and activate Grit, an email address, billing address and payment details are needed; without them we can’t conclude or fulfil the contract. We don’t use automated decision-making or profiling.

Changes

We update this policy when our services or the law change. The date at the top shows the current version.

esc

120 BPM ↑↓ Select ↵ Launch