Privacy Policy
Last updated: 24 October 2026
Grapple is a paid product, so we make money by selling software rather than by learning about you. This policy says exactly what we hold, why we hold it, who else touches it and how to get rid of it. It is short because there genuinely is not much.
The short version
- We count page views on this website, and nothing more. No cookies, no advertising tags, no session recording, no profiling, and nothing that follows you to other websites. There is no analytics of any kind in the app.
- Free and Pro both need an account, and the app does not report what you play with your account. The one exception is the single game the Free plan includes, because your account has to remember which one you chose. Separately, and without anything that identifies you, the app tells us when you've played a game twice, for more than 10 minutes each time, so the game pages can show what works; you can turn that off in Settings.
- We hold your email address, a hash of your password, which Macs are signed in, the one free game if you are on Free, and whether your subscription is paid up. That is the lot.
- We never see your card number, we never sell or rent personal data, and we do not use it for advertising.
- There is no cookie banner because we set no cookies except the three that keep you signed in, and page-view counting uses none.
Counting page views
We use Vercel Web Analytics to count how many people visit each page, which website sent them, and roughly which country and kind of device they came from. We do it to know whether anyone is finding Grapple and which pages confuse people, which is the difference between improving the site and guessing at it.
It sets no cookies and does not identify you. It does not follow you to other websites, and it cannot: the counter is served from getgrapple.io, not from a third party's domain, so no other site ever learns that you were here. Vercel processes the data on our behalf and does not use it for its own purposes or share it with anyone. Nothing is sold, and no advertising is built on it.
The legal basis is our legitimate interest (Article 6(1)(f) GDPR) in understanding whether the website works. Because no cookie or similar device is read or written on your machine, no consent banner is required. If you block it with an extension or a privacy browser, the site works exactly the same and we simply do not count that visit.
None of this runs in the Grapple app. The app counts nothing.
Who is responsible for your data
The controller of your personal data, in the sense of the GDPR, is:
- Rise, trading as Grapple
- Abstederijk 55, 3582 BB Utrecht, the Netherlands
- Chamber of Commerce (KvK) number 71166831
- VAT number NL002422233B47
- Email support@getgrapple.io
For anything in this policy, including access and deletion requests, write to support@getgrapple.io.
What we collect, and why
What the app sends, on either plan
Free needs an account just as Pro does, so everything under If you create an account applies whichever plan you are on, and on Free there is also the one game the plan includes — see The one free game. Nothing else about your library reaches us with your account: the app does not report which games you have, which ones you launch, or how they ran. Your games, your Windows environments and their settings stay on your Mac.
Anonymous playtime for the game pages
When you have played a game twice, for more than 10 minutes each time, the app sends us the game's name (or its Steam number) and Grapple's version number, once per game. It counts those sessions on your Mac; the count itself never leaves it. That is all: no account, no email address, no identifier for your Mac, and we do not store the internet address the message came from. To stop the same game being counted twice in a day from one place, a one-way hash of the address and the game is kept for 24 hours and deleted shortly after; it cannot be turned back into the address. We count these messages per game, and a game's page shows that it works once one comes in, unless more players say on the page that it doesn't. The game pages are part of the service Grapple offers, and this is how they stay accurate. It is on unless you turn it off: Settings → Share anonymous playtime. Turning it off stops the messages straight away; the ones already counted can't be traced to you, so there is nothing of yours left to delete.
Three ordinary internet requests happen as well, and you should know about them:
- Update checks. Once a day the app asks our server whether a newer version of Grapple exists. That request carries your IP address and the version you are running, like any web request. It does not carry anything about your Mac or your games, and we do not build a profile from it. You can switch automatic checks off in Settings → General → Updates.
- Cover art. Grapple asks Steam's public store API for the cover picture of the Steam games in your library, and downloads the cover of each Epic game from Epic's image server. That tells Valve's or Epic's servers which game's picture is wanted and nothing else — no account information, nothing about you. Each picture is then kept on your Mac, so it happens once per game, and you can switch it off in Settings → General.
- Downloads. Grapple, its engine and its graphics components are downloaded from GitHub Releases, so GitHub sees your IP address when you download them, under GitHub's own privacy statement.
If you create an account
- Your email address — required. It identifies your account and is how we send password resets and service notices.
- Your name — optional, only if you type one.
- Your password, as an Argon2id hash. We never store or see the password itself, and a hash cannot be turned back into it.
- When the account was created and last changed, and an internal counter we bump on a password reset so that old sign-ins stop working.
- Whether you have confirmed your email address, and when. A new account cannot be used until you have. While a confirmation is outstanding we store a hash of the link's token and the time it expires, which is 48 hours after we send it.
- Whether you asked for emails about new features and offers, and when. Off unless you tick the box when you sign up or turn it on from your account page, and you can turn it off there at any time. We keep the date you last turned it on as a record of your consent. Legal basis: your consent (Art. 6(1)(a) GDPR).
- Password reset requests — we store a hash of the reset link's token and the time it expires, which is one hour after you ask.
Legal basis: performing our contract with you (Article 6(1)(b) GDPR).
The Macs you are signed in on
Grapple signs in on a Mac with your email address and password, and that Mac then takes one of your three slots. For each Mac we hold:
- a random identifier the app generates on that Mac, and the name of the Mac as it is set in macOS (this often contains your first name, because macOS suggests one);
- when it signed in, and when it last checked in;
- a hash of the credential that Mac identifies itself with afterwards — only the hash, for the same reason as the password.
Nothing else about the machine: no serial number, no hardware details, no list of software. We need this to enforce the 3-Mac limit and to let you sign a Mac out yourself. Legal basis: performing our contract with you (Article 6(1)(b)).
The one free game
On the Free plan your account records the single game you chose: how the app identifies it (a Steam app id, or the program's path on your Mac), its name as the app shows it, when you claimed it, and when you last swapped it. It is kept against the account rather than the Mac so that it survives reinstalling Grapple or moving to a new Mac. To claim that game, to swap it, or to ask whether a game is the one you chose, the app sends us that game's id and name — but the only game written down is the one you chose. Legal basis: performing our contract with you (Article 6(1)(b)).
Your subscription
Stripe takes the payment; we keep a mirror of the result so the app knows whether you are on Pro. That mirror holds your Stripe customer and subscription identifiers, which price you are on, whether it is monthly or yearly, the status (active, past due, cancelled and so on), the date the current period ends, whether a cancellation is scheduled, and the date any cancellation took effect.
We do not store your card number, card brand, expiry date or billing address. Those live with Stripe, which also collects the country and address details it needs to charge the right VAT, and a business VAT number if you give one. You can see and change them in Manage billing on your account page, which opens Stripe's own portal.
Legal basis: performing our contract with you (Article 6(1)(b)) and, for the invoice and tax records, our legal obligation to keep them (Article 6(1)(c)).
Game reports
If you tell us on a game's page whether it works for you, we keep your answer, the note you add if any, and when you sent it, with your account. When you say a game doesn't work, the team receives the game, your note and your email address by email, so we can look into it and follow up with you. Each listed game's page shows how many players said it works and how many said it doesn't — as numbers only, never with your name or email address — and marks it as working once players say it does. You can change your answer at any time; deleting your account deletes your reports.
Problem reports
When you use Report a problem in the app, Grapple sends us a zip file together with what you wrote. The zip holds the settings of the Windows environment the game runs in; Grapple's logs for it and the end of the Steam client's logs if Steam is installed there; recent game logs and crash reports; and basic system information: the Grapple, engine and macOS versions, your Mac's model, memory, graphics chip and free disk space. Before it leaves your Mac, your macOS username and home folder path are replaced with <user> in every text file in it; crash dump files are binary and are sent as they are. The app also sends your Grapple and macOS versions and your Mac's model, and the report is tied to your account so we know who to answer.
The team receives it all by email, sent through Resend, so we can look into the problem and reply to you. We do not keep the zip anywhere else: it is not stored in our database or on our servers. The email stays in our support inbox for as long as we need it to help you, and we delete it when you ask. A copy of the zip also stays on your Desktop, so you can open it and see exactly what was sent. Legal basis: performing our contract with you (Article 6(1)(b)) — you asked us to help.
Server logs and abuse prevention
Like every web server, ours sees the IP address of each request. We use it to rate-limit sign-ins, sign-ups, password resets and the checks a signed-in Mac makes, so that nobody can brute-force an account. To make that work across servers we keep a counter row in our database whose key contains the IP address (or, for per-account limits, the email address being tried, or a short hash of the credential the Mac is using), a count and an expiry time. Nothing else is recorded — no page, no time of visit beyond the expiry. The counters expire within minutes and the rows are deleted about an hour later. Our hosting provider also keeps short-lived request logs for operating the service.
Legal basis: our legitimate interest in keeping accounts and systems secure (Article 6(1)(f)). We think you have the same interest.
What we deliberately do not do
- No advertising, no advertising tags, no profiling, no A/B testing, no heat-mapping and no session recording.
- No product telemetry or crash reporting in the app: Grapple does not report what you play, what you install or how often you open it with your account. The only usage data is the anonymous playtime described above, which you can turn off. Diagnostics are only ever sent when you use Report a problem yourself (see Problem reports above).
- No third-party scripts. Even the fonts are served from our own domain, so opening a Grapple page tells Google nothing, and the page-view counter is served from getgrapple.io rather than someone else's domain.
- No advertising, no ad networks, no data brokers. We never sell, rent or share personal data for anyone else's marketing.
- No marketing emails unless you ask for them. Without your yes, the only email we send is about your own account; with it, we also write about new features and offers, a few times a year at most, until you turn it off on your account page.
- No automated decision-making or profiling that has legal or similarly significant effects on you.
Cookies
We set three cookies, all strictly necessary, and only once you sign in or start signing in:
- A session cookie that keeps you logged in. It is HttpOnly, SameSite=Lax, and lasts up to 30 days or until you sign out.
- A CSRF token that stops another website submitting forms as you.
- A short-lived callback cookie that remembers which page to send you back to after signing in.
None of them tracks you, none is shared, and none needs consent under the ePrivacy rules — which is why you have not been asked to click anything.
Who else processes your data
We keep the list of suppliers short on purpose. Each one is a processor acting on our instructions under a data processing agreement.
- Stripe (Stripe Payments Europe Ltd, Ireland, with Stripe, Inc. in the United States) — payments, invoicing and VAT calculation. Stripe is the controller for its own payment and fraud-prevention purposes; see its privacy policy.
- Neon — the database that holds your account, the Macs signed in to it and your subscription records. Our database runs in Neon's EU region in Frankfurt, Germany.
- Vercel — hosting and content delivery for this website and its API.
- Resend — sending transactional email such as password resets, and delivering problem reports to our support inbox. It handles your email address and the contents of that message.
- GitHub — hosting the download files. GitHub sees your IP address when you download Grapple or its engine.
Your account data is stored in the EU. Some of these suppliers are part of United States groups, so support and operations staff there may be able to access data. Those transfers are covered by the European Commission's standard contractual clauses and, where the supplier is certified, by the EU–US Data Privacy Framework.
How long we keep it
- Your account, the Macs signed in to it and the free game — for as long as your account exists. Ask us to delete the account and they go immediately; copies in our database provider's backups fall out within 30 days.
- A signed-in Mac — until you sign it out from your account page, or the account is deleted.
- Email confirmation tokens — 48 hours, then they are dead whether used or not.
- Password reset tokens — one hour, then they are dead whether used or not.
- Invoices and payment records — 7 years. Dutch tax law requires it, so this is the one thing we cannot delete on request. They are held by Stripe.
- Server logs — a short period at our hosting provider, never longer than 30 days.
- Rate-limiting counters — the counter expires within minutes and the row is deleted about an hour later.
Your rights, and how to use them
Under the GDPR you can ask us to:
- tell you what we hold about you, and give you a copy (access);
- correct anything wrong (rectification);
- delete it (erasure) — for us that means deleting your account, which removes everything except the invoice records we are legally required to keep;
- stop using it for a while, while a dispute is sorted out (restriction);
- hand you the data you gave us in a machine-readable file, or send it to someone else (portability);
- stop processing based on our legitimate interests (objection).
How: email support@getgrapple.io from the address on your account, or from any address if you tell us which account you mean. There is no form and no fee. We reply within one month, and usually within a few days. If a request is complicated we may take up to two further months, and we will tell you if so.
If you think we have got it wrong, please tell us first — but you always have the right to complain to a supervisory authority. Ours is the Dutch Data Protection Authority, the Autoriteit Persoonsgegevens. You can also complain to the authority in the EU country where you live or work.
Security
Passwords are stored as Argon2id hashes with parameters following current OWASP guidance, never as text. Sessions use HttpOnly cookies and are invalidated everywhere when you reset your password. Sign-ins, sign-ups, resets and the checks a signed-in Mac makes are rate-limited. Everything travels over HTTPS. Card data never reaches our servers.
Children
Grapple accounts are for people aged 16 and over. We do not knowingly collect data about younger children; if you believe we have, email us and we will delete it.
Changes to this policy
If we change what we collect or who processes it, we will update this page and change the date at the top. If the change matters to you, we will email account holders before it takes effect. In particular: if we ever add anything that tracks you between websites, or any other analytics inside the app than the anonymous playtime described above, we will say so here in plain words first — and we have no plans to.
See also our Terms of Service and our Refunds & withdrawal policy.