Privacy Policy
Last updated: 12 October 2026
This is a translation of the German privacy policy. If the two versions differ, the German version prevails.
In short: Without an account, the Ribbo app doesn’t collect any personal data: your progress stays on your device, and there are no ads and no analytics. Since version 1.1.0 you can create an account if you want to. Then I process your name, your daily puzzle times, your friendships and, since version 1.4.2, your game progress so you can see your rank and your friends and your progress comes back after a reinstall. Since version 1.5 your friends also see your position on the path, your checked best times with your ghost and your weekly points (section 4). Purchases of Ribbo Plus (since version 1.2) are handled by Apple or Google; I don’t receive any payment details (section 3). This website doesn’t set cookies and doesn’t use tracking.
1. Controller
The controller responsible for processing personal data in the Ribbo app and on this website is:
Fabian MeyerMarbacher Str. 11/1
78086 Brigachtal
Germany
Email: hallo@ribbo.de
2. The app without an account
This section applies to all versions of Ribbo as long as you don’t have an account. Version 1.0.0 has no account.
No personal data
Without an account, Ribbo doesn’t collect any personal data. The app shows no ads and contains no analytics or tracking tools. Without an account, it doesn’t send any data to me and doesn’t open an internet connection of its own. The only exception since version 1.2: on Android, Google’s billing library, which is part of the app, connects to Google when it comes to Ribbo Plus (section 3). On iPhone, purchases go through a service of the operating system, not through the app.
What is stored on your device
So that you can keep playing, the app stores the following only on your device:
- the level you’re on,
- for the daily puzzle, the day you last solved it, your time, your best time and your streak,
- since version 1.1.0, also a solved daily puzzle with the record of how you solved it, until it has been sent with an account or its deadline passes (end of the following day); without an account it never leaves your device,
- since version 1.1.0, the number of days you’ve solved and the day you last hid the invitation to create an account,
- since version 1.1.0, a friend code from an invite link, until you’ve confirmed or declined the friendship,
- since version 1.1.1, whether the daily puzzle reminder is on and how you answered the question about it,
- since version 1.2, whether you have Ribbo Plus (type of purchase, expiry and when the app last checked), on Android whether a purchase has already been started on this device, and also the number of hints used today, the line skin you chose, your best times in the archive, the state of your streak shield and when the app last asked for a rating,
- since version 1.4, for each level your best time and your stars, the record of your best run (it plays alongside you as a ghost when you play the level again) and the levels whose challenge you’ve already played.
I don’t receive this information and have no access to it. If you delete the app, it is deleted along with it.
The app schedules the 8 pm reminder only on your device. It doesn’t use any push service from Apple or Google for this and doesn’t transmit any data.
Ratings in the store (since version 1.2)
After a few solved daily puzzles, the app asks for a rating at most once per version. The window for this is shown by the system of Apple or Google Play; they decide whether it appears. I don’t receive any data from you in the process. A rating you give goes to Apple or Google and is published there under their terms.
Sharing
When you share your result, the app (since version 1.3) creates an image of it, only on your device and without the day’s solution; before that, and for invitations, it’s a text. The image or text goes wherever you send it using your device’s share feature. If you challenge someone (since version 1.4), the app shares a text with a link (ribbo.de/h/…). It contains the level, your time and the record of how you solved it, so that it plays alongside as a ghost in the challenge, but not your name. The record is in the link after “#”; a browser doesn’t send this part to ribbo.de when it opens the link.
Device backups
If you’ve turned on backups on your device (such as iCloud Backup from Apple or Google backup on Android), this game data may be included in the backup like other app data. That way your progress is kept when you set up a new device from the backup. The backup is made by Apple or Google according to your settings and under their own responsibility; I have no access to it.
Download from the App Store and Google Play
You get Ribbo from Apple’s App Store or from Google Play. When you download it, Apple or Google process data such as your account details and information about your device and the download under their own responsibility. Their privacy policies apply:
- Apple: Apple Privacy Policy
- Google: Google Privacy Policy
Usage and crash statistics from Apple and Google
If you’ve agreed in your device settings to share analytics data with app developers, Apple or Google provide me with aggregated statistics on how the app is used (such as the number of installations and sessions) and with crash reports. I receive this information anonymously, without names, email addresses or device identifiers; I can’t tell from it who you are. I use it only to find bugs and improve the app. Whether you share such data is up to you in the privacy or Google settings on your device, and you can change it there at any time.
3. Purchases (since version 1.2)
Since version 1.2 you can buy Ribbo Plus (see the terms of use). You don’t need a Ribbo account for this.
No payment details with me
Purchase, payment and billing are handled exclusively by Apple (App Store) or Google (Google Play) under their own responsibility; their privacy policies apply (see “Download from the App Store and Google Play” in section 2). I don’t receive any payment details. The app checks on your device whether you have Plus, based on the purchases Apple or Google report there, and remembers this only on your device. There is no server of my own for this; nothing is sent to me in the process.
On iPhone
On iPhone, offers, purchases and restoring purchases go through the operating system’s purchase service. The app itself doesn’t open a connection for this.
On Android
On Android, Google’s billing library (Google Play Billing) is part of the app. It sends technical data to Google when the Plus page loads the offers, when you buy, when you restore a purchase, when you manage your subscription and when the app starts on devices on which a purchase has already been started. Without one of these occasions, the app doesn’t call the library. Google processes this data under its own responsibility according to the Google Privacy Policy.
The legal basis is Art. 6(1)(b) GDPR: the requests serve to show you the offers at your request, to process your purchase and to unlock Plus in the app.
4. Your account (since version 1.1.0)
Since version 1.1.0 you can create an account in the app if you want to. It unlocks your rank in the daily puzzle, friends and, since version 1.5, the weekly league. You can create an account from the age of 16. If you’re younger, you need your parents’ consent. I process the following data only if you have an account.
Where the data is stored
Your account and everything connected to it is stored on my behalf by Supabase Pte. Ltd., 65 Chulia Street #38-02/03, OCBC Centre, Singapore 049513, in the Frankfurt am Main region (eu-central-1). There is a data processing agreement with Supabase under Art. 28 GDPR. Where Supabase processes data outside the EU, for example for operations and support from Singapore or the USA, this is based on the European Commission’s standard contractual clauses, which are part of this agreement (Art. 46(2)(c) GDPR). There’s more in the Supabase privacy policy.
Backups
Supabase makes a backup of the database every day so that the data can be restored after an outage or error, and keeps each backup for seven days. So anything that is deleted disappears from the backups after seven days at the latest. If I have to restore a backup, I then delete again whatever was deleted since it was made. To make this possible, I keep only the identifier of each deleted account (a random number, without a name or other details) and the time of deletion for 14 days, and then delete them. The legal basis is Art. 6(1)(f) GDPR; my legitimate interest is protection against data loss and making sure that what was deleted stays deleted.
Sign in with Apple
On iPhone, you sign in with Apple. The app only asks for your name, not for your email address. The following is stored:
- a random identifier for your account,
- your Apple user identifier, which Apple uses to recognise you the next time you sign in,
- from the proof of sign-in that Apple issues, the issuer, the time of sign-in and whether your email address and phone number are verified with Apple, without the address or number itself,
- the times you created the account and last signed in.
The app uses the first name that Apple sends with your first sign-in only on your device, to prefill “Choose a name”; it isn’t stored. The purpose is your account; the legal basis is Art. 6(1)(b) GDPR, the user agreement under the terms of use. The data remains until you delete your account. Apple is responsible for the sign-in itself; the Apple Privacy Policy applies to it.
Session and logs
While you’re signed in, the app keeps a session: encrypted on your device, and at Supabase with your IP address and the app’s identifier (user agent). It is removed when you sign out and when you delete your account. Each time the app connects, Supabase also stores the IP address, the time, the function called and the user agent in logs, for at most seven days. The purpose is secure operation and troubleshooting; the legal basis is Art. 6(1)(f) GDPR, my legitimate interest is a secure and working service.
Your name
You choose your name yourself. Only your friends see it, not other players. The app and the server check it against blocked words. The legal basis is Art. 6(1)(b) GDPR. The name remains until you change it or delete your account; if it breaks the terms of use, I can reset it.
Daily puzzle
When you solve the daily puzzle with an account and a name, the app sends your result: the day, your time, when it arrived and whether it was sent later, the record of how you solved it (every change to the path with the playing time, pauses and the solved path), the time you solved it on your device, the app version and the platform. The server recalculates your time from the record and checks it for anomalies; times that look unusual don’t count for other players.
Sending attempts: your account and the time of each attempt to send a result, to protect against mass requests. They are deleted after one hour.
- Purpose: your rank and percentile among all of the day’s times, your time with your friends and fair rankings. Other players don’t see your time; for them it only counts as a number in their rank and, since version 1.5, in the average of all times (see “Playing together”). Your friends see your name and your time.
- Legal basis: Art. 6(1)(b) GDPR for rank and friends, Art. 6(1)(f) GDPR for the check for cheating and the brake on mass requests; my legitimate interest is fair rankings for everyone.
- Retention: the record of how you solved it for 90 days, the result itself until you delete your account.
Game progress (since version 1.4.2)
Since version 1.4.2, with an account and a name, the app also stores your game progress with your account so that it comes back after a reinstall or on a new device as soon as you sign in. The following is stored:
- for each level your best time, whether you have cleared it once without a hint and whether you have cleared it under the target time, plus the record of your best time (your line cell by cell with the timings, from which the app draws your ghost) and the time of the last change,
- your position on the path (the current level),
- your streak shield (the day it last kicked in and the day it saved) and all the days on which it saved your streak,
- since version 1.5, once, your streak from before you had an account: the app sends the length and first day of the streak on your device until the server has checked it once. It keeps only the days before your first daily puzzle with an account, and only if the streak runs without a gap up to it.
The server doesn’t store your daily streak separately; it works it out from your daily results, the saved days and, if there is one, your streak from before the account whenever the app asks for it. Your streak from before the account only counts for what you see yourself, never with friends, in the weekly league or for points. The app syncs when you start it with an account, after signing in, when it comes to the foreground and as soon as a result is in; for each level the server keeps the better time and the higher position. Other players don’t see this data; what your friends see of it since version 1.5 is explained under “Playing together”.
- Purpose: your progress is kept with your account and comes back to a new or newly set up device.
- Legal basis: Art. 6(1)(b) GDPR, the user agreement under the terms of use.
- Retention: until you delete your account; after a permanent suspension, twelve months after the suspension (see “Suspended accounts”).
Playing together (since version 1.5)
Since version 1.5 you play together with your friends. For this, your friends see the following, as long as you’re friends and neither of you has blocked the other:
- your name and your position on the path (your current level),
- for each level your checked best time with your stars (whether cleared without a hint and under the target time) and the record of that best time, so they can race your ghost; on a level’s card the three fastest friends are offered,
- your points in the weekly league, on how many days of the week you earned points, and your rank among each other.
Checking best times: Before your friends see a best time and before it earns points, the server replays its record and checks it against the rules of the game for anything suspicious, such as an impossibly fast time. If a record fails the check, the time stays with your account, but your friends don’t see it. For this I store your account’s identifier, the level, the time, the reason and the time of the check.
Weekly points: For each day the server stores what you earned points for: whether you solved the daily puzzle and kept your streak, how many new levels you cleared and how many best times you improved, and the total for the day. It works them out itself from your daily results and your checked level times; the app doesn’t send anything extra for this. The app also remembers on your device which week it last showed you the weekly summary for.
Statistics without personal reference: With an account, the app shows after the daily puzzle and on a level’s card how fast everyone was on average. For this the server works out the number of players and the median from all counting times of the day or all checked best times of a level, the median only from 20 times. The app receives only these two numbers, no individual times and no names.
- Purpose: playing together with your friends (path, ghost, weekly league), the average of all times and fair best times and points.
- Legal basis: Art. 6(1)(b) GDPR, the user agreement under the terms of use; for checking the records Art. 6(1)(f) GDPR, my legitimate interest being fair best times and points for everyone.
- Retention: weekly points for eight weeks, after which I delete them; the details of records that failed the check until you delete your account; after a permanent suspension, both twelve months after the suspension.
Friends, blocking and reporting
- Friend code: your code for inviting friends. Anyone you give it to knows it. It remains until you reset it or delete your account.
- Friendships: who has been friends with whom since when. They remain until one of you ends the friendship, blocks the other or deletes their account.
- Blocks: who blocked whom. Only moderation sees them. They remain until one of you deletes their account or the block is lifted through support.
- Failed attempts: your account and the time when a code you entered doesn’t match, to protect against trying out other people’s codes. They are deleted after one day.
- Reports: who reported whom, when and for what reason, plus my note when I resolve the report. Only moderation sees them. Resolved reports are deleted after six months, reports about an account together with that account. If you delete your account, your own reports remain without any link to you.
- Notification email: When there is a new report, the server sends me a short email, at most one per hour. It contains no personal data, only the number of open reports. It is sent via my mailbox hallo@ribbo.de and its mail server at IONOS SE, under the same data processing agreement as the mailbox (section 6).
The legal basis for the friend code and friendships is Art. 6(1)(b) GDPR. For blocks, failed attempts, reports and moderation it is Art. 6(1)(f) GDPR; my legitimate interest is protection against abuse and offensive content.
Suspended accounts
If an account breaks the terms of use, I can suspend it temporarily or permanently. I store the date and reason for the suspension. A suspended account can’t sign in and therefore can’t be deleted in the app.
- Temporary suspension: The data remains as described; I delete the date and reason when the suspension ends.
- Permanent suspension: After twelve months I delete the name, the daily results including the record of how they were solved, the game progress, the weekly points, the details of failed checks, the friend code, friendships, blocks, failed attempts and reports about the account; the account’s own reports remain without any link to it. Until 24 months after the suspension, only the account’s identifier with the times it was created and last signed in, the Apple user identifier and the date and reason for the suspension remain, so that the same Apple ID can’t get around the suspension with a new account. After that I delete the account completely.
The legal basis is Art. 6(1)(f) GDPR; my legitimate interest is protecting players from abuse and enforcing the terms of use.
Analysis in totals
To see how Ribbo is used and to improve it, I also analyse the account data in totals, for example how many accounts played on a day or in a week, how many come back the next day, how many have points in the weekly league and how the points are spread. I don’t collect any additional data for this. The only results are numbers across all accounts together, no analyses of individual people, and only I see the results.
The legal basis is Art. 6(1)(f) GDPR; my legitimate interest is running and developing Ribbo.
Deleting your account
You can delete your account in the app at any time (Me → Delete account). This immediately deletes your account with your name, game progress, weekly points, the details of failed checks, friend code, friendships, blocks, failed attempts, sending attempts and daily results including the record of how you solved them, as well as reports about you; your own reports remain without any link to you. If you signed in with Apple, your sign-in with Apple is also revoked; to confirm, you sign in with Apple once more. Logs expire after their retention period, backups after seven days at the latest. Your levels, times and streak stay on your device.
If you signed in with Google, you can also request deletion by email without the app; with an Apple Account you need the app for this. How this works and how I check that the request comes from you is explained under Delete account (in German).
Who receives the data
Supabase processes the data on my behalf; IONOS sends the notification email, which contains no personal data. Apple receives what is needed for signing in and for revoking it. Your friends see your name and your daily puzzle time and, since version 1.5, also your position on the path, your checked best times with stars and ghost and your weekly points. Beyond that, I don’t pass on any data and don’t sell any.
5. This website
No cookies, no tracking
This website doesn’t set cookies, doesn’t use analytics or tracking services and doesn’t load external fonts or scripts. There is JavaScript only on the invitation page (ribbo.de/f/…) and the challenge page (ribbo.de/h/…): a small script from this website shows the friend code or the level and time from the address there. It runs only in your browser and doesn’t transmit anything.
Hosting at Vercel and server logs
The website is hosted by Vercel Inc., 440 N Barranca Avenue #4133, Covina, CA 91723, USA. When you visit it, Vercel processes the technically necessary connection data on my behalf and stores it in server logs:
- IP address,
- date and time of the request,
- the page requested and the response code,
- browser and operating system (user agent),
- the previously visited page (referrer), if your browser sends it.
If you open an invite link (ribbo.de/f/…) or a challenge (ribbo.de/h/…), the friend code or the level and time appear in these logs as part of the requested page.
I need this data to deliver the website, protect it against attacks and find errors. The legal basis is Art. 6(1)(f) GDPR; my legitimate interest is a secure and working website. I don’t analyse the logs to identify visitors, don’t combine them with other data and don’t store them myself. In my Vercel account I can see them for at most one day. There is a data processing agreement with Vercel under Art. 28 GDPR.
Transfers to the USA
Vercel is a company based in the USA; the log data may therefore be transferred to the USA. Vercel Inc. is certified under the EU-U.S. Data Privacy Framework; according to the official list of the U.S. Department of Commerce, the certification is active (checked on 25 September 2026). For certified companies, the European Commission found an adequate level of data protection in Implementing Decision (EU) 2023/1795 of 10 July 2023; the transfer is therefore based on Art. 45 GDPR. In addition, the data processing agreement with Vercel contains the European Commission’s standard contractual clauses (Art. 46(2)(c) GDPR). There’s more in the Vercel privacy notice.
6. Contact by email
If you write to me at hallo@ribbo.de, I process:
- your email address,
- your name, if you give it,
- the content of your message and the date and time it arrives.
Purpose and legal basis: I process this data to answer your request. The legal basis is Art. 6(1)(f) GDPR; my legitimate interest is answering your request.
Email provider: The mailbox hallo@ribbo.de is operated on my behalf by IONOS SE, Elgendorfer Str. 57, 56410 Montabaur, Germany. There is a data processing agreement with IONOS under Art. 28 GDPR.
Retention: I delete your message as soon as your request has been dealt with, unless statutory retention obligations prevent this.
7. Your rights
Where I process personal data about you, the General Data Protection Regulation (GDPR) gives you the right to
- access this data (Art. 15 GDPR),
- have inaccurate data corrected (Art. 16 GDPR),
- erasure (Art. 17 GDPR),
- restriction of processing (Art. 18 GDPR),
- data portability (Art. 20 GDPR).
Right to object: You can object at any time, on grounds relating to your particular situation, to processing based on Art. 6(1)(f) GDPR (Art. 21 GDPR).
Just write to me at hallo@ribbo.de. Without an account, I have no data from the app; your progress is only on your device. If you have an account, tell me your name in the app. You can delete your account yourself in the app at any time.
8. Complaints to a supervisory authority
You have the right to lodge a complaint with a data protection supervisory authority (Art. 77 GDPR), in particular in the EU member state where you live or work or where the alleged infringement took place. The authority responsible for me is:
Der Landesbeauftragte für den Datenschutz und die Informationsfreiheit Baden-Württemberg (State Commissioner for Data Protection and Freedom of Information Baden-Württemberg)Heilbronner Straße 35
70191 Stuttgart
Germany
www.baden-wuerttemberg.datenschutz.de
You can find the supervisory authorities of all EU member states in the list of the European Data Protection Board.
9. Changes
This privacy policy applies to all versions of Ribbo: section 2 to the app without an account, section 3 from version 1.2 to purchases of Ribbo Plus, section 4 from version 1.1.0 and only if you create an account. If what the app or the website processes changes, I adjust this policy beforehand and update the date at the top.