Last updated: 4 October 2026
C++ Game: Segfault ("Segfault") is an Android game that teaches C++ one line at a time. It is published by BotSquash. Short version: no account, no sign-up, no email and no analytics. The game itself plays offline. Players without Segfault Pro can choose to watch ads from Unity Ads, which collects its own data to show them (see Ads below); Pro players see no ads. Two optional features also use the internet: a backup copy of your saved game, and class rooms.
The game keeps one save file in the app's private storage on your phone (Android
SharedPreferences). It holds:
Uninstalling the app, or clearing its data in Android settings, deletes all of this from the phone. If Android's own backup is turned on for your phone, Android may also include this save in your personal Google backup; that backup belongs to your Google account and is never shared with us.
A copy of your progress is also kept in our backup service, so it survives a lost or changed phone. That is the next section.
Your progress is copied to our backup service in the background, so you do not lose your game if you lose your phone. You do not sign in, and you do not give us an email or a name to do it.
Your backup code is the key to your saved game. Your phone makes up a 12-character code the first time it backs up, and you can read it in the app under settings > backup code — press and hold the row to copy it. That code is what your save is filed under, and it is the only thing needed to reach it:
What goes into the backup is the same list as above, with one exception: your subscription is never uploaded. Whether you have Segfault Pro is decided on your phone by Google Play and nowhere else; it is deliberately removed before anything is sent, and ignored if it ever came back.
We can turn cloud save off remotely if something goes wrong with it. The app then keeps working exactly as it does offline.
A class room is optional, and nothing happens unless you make one or join one. Someone makes a room and shares a six-character code, usually over WhatsApp; anyone with that code can join.
Inside a room, the other members can see two things about you: the nickname you typed, and your lines run number. Nothing else about you is shared, ever. There is no chat, no direct message, no photo, no voice and no freeform text anywhere in the feature — a member row is a nickname and a number, and that is the whole of what one player can learn about another. There is no room search and no public list: a room is reached by its code or not at all, and you can be in one room at a time.
If a nickname bothers you: tap that person's row on the board. hide this name hides it on your phone straight away, and show this name on the same row puts it back. report this name also hides it and sends us a report, which nobody else can read. If you made the room, you also get remove, which takes that person off the board for everyone. Nicknames are limited to 12 lowercase letters, numbers and underscores, and a short list of offensive words is refused outright.
leave room deletes your row from that room, so your nickname and number stop being visible to the other members. The person who made the room can also close room, which deletes the room and every row in it. We can also turn class rooms off remotely.
The backup and the class rooms run on Google Firebase (Cloud Firestore and Firebase Anonymous Authentication), acting as our processor. All traffic is encrypted in transit (HTTPS/TLS).
Firebase gives your app install an anonymous ID — a random string that identifies the install and nothing more. It is not linked to an email address, a phone number, a Google account or an advertising ID, we never ask you to sign in, and the app never shows it to you or to anybody else. It is used as the name of your row inside a room, so the board knows which row is yours. Google processes data under Firebase's privacy and security terms.
We do not use Firebase Analytics, Crashlytics, Cloud Messaging or Remote Config.
Ads are shown by Unity Ads, described in Ads below. No other third party receives anything.
Halls 1 to 4 are free. Segfault Pro opens hall 5 and up, unlimited practice sets and mock exams, and removes all ads. It is sold as a monthly subscription, which renews until you cancel, or as a 3-month pass, which is paid once and does not renew. Subscriptions are sold and processed entirely by Google Play Billing. Your payment details go to Google, never to us. The purchase record and its purchase token are handled on your device between the app and Google Play, and nothing about your purchase is sent to us or into the backup described above — it is removed before anything is uploaded. The only thing the app stores about it is the local note described above, so it knows whether Pro is active when you are offline.
Google processes your purchase under its own privacy policy: policies.google.com/privacy. You can cancel any time in Google Play (Play Store > Payments & subscriptions > Subscriptions).
The app can show one reminder a day to keep your streak going. It is off until you say yes when the app asks, and on Android 13 and later Android also asks for notification permission. The reminder is scheduled on your phone by the app itself; it is not sent from any server. You can turn it off in the app's settings or in Android's notification settings.
When you finish your first program, you can tap share my program. The app draws a picture of that program (with your nickname and profile picture) and opens Android's share sheet. Nothing is sent unless you choose an app and send it yourself; whatever you share then goes to the app you picked, under that app's own privacy policy.
The app does not use your contacts, camera, microphone, photos or files, and it never asks for your location. (Unity Ads works out an approximate location from your IP address; see below.)
Segfault is free to play. Players who do not have Segfault Pro can choose to watch ads. Players with Pro see no ads, and on their phones the ad software is never started.
We use Unity Ads (Unity Technologies) to show rewarded videos, which you choose to watch: for example to keep going after a crash, to keep your streak after a missed day, to double the points from a level, or to play one more practice set. An ad never starts on its own. If a future version adds any other kind of ad, this policy will say so before that version is released.
To show and measure ads, Unity Ads collects your device's advertising ID and other device identifiers, an approximate location worked out from your IP address, information about the ads you see and tap, how long the app is used, and basic diagnostics. Unity uses this for advertising, analytics and fraud prevention, under its own privacy policy: Unity's game player and app user privacy policy. We do not receive your advertising ID or your location, and we never send Unity your backup code, nickname or progress. Segfault is registered with Unity as an app that is not directed at children, and ads are limited to content suitable for teens.
Your choices. Where the law requires it (for example in the EEA and the UK), Unity asks for your consent before showing personalised ads, and you can change your choice from the privacy button shown inside a Unity ad. Anywhere, you can reset or delete your advertising ID, or opt out of personalised ads, in your phone's settings (Settings > Google > Ads, or Settings > Privacy > Ads). Segfault Pro removes all ads.
The app contains no analytics and no crash-reporting service. We do not profile you, and nothing described here is sold by us to anyone. If a future version changes that, this policy and the Play Store data safety section will be updated before that version is released.
The app is intended for players aged 13 and over, and is not directed at children. There is no chat, no messaging and no way to contact another player: the most anyone can see of anyone else is a nickname and a number on a class-room board, and only if both people joined the same room with a code shared between them.
Two things you can do yourself, straight away:
To delete the backup copy as well, tap delete my backup in the app's settings (the gear). If you cannot, for example because the app is already gone, email us at [email protected] with your 12-character backup code (settings > backup code in the app; press and hold to copy it) and ask us to delete it. We will delete that saved game and confirm. Please send the code before you uninstall — it is the only way we can find your save, because there is no name or email address attached to it, and once the app is gone from your phone the code is gone with it.
Deleting the backup does not cancel a subscription; cancel that in Google Play.
You have every right the law gives you over the limited data described above: to ask what we hold, to have it corrected or deleted, to get a copy, and to complain to your local data protection authority. Use the same address as for deletion, and include your backup code so we can find the record. Our lawful basis for the backup and the class rooms is your consent, given by using those optional features; you can withdraw it at any time by asking us to delete the backup and by leaving any room. For ads in the EEA and the UK, the basis is the consent you give to Unity, which you can change from the privacy button inside an ad. Payment data is held by Google and ad data by Unity; to exercise your rights over them, contact Google or Unity.
Data is stored on Google Cloud infrastructure and may be processed outside your country, including in the United States, under Google's own transfer safeguards.
If this policy changes, the "Last updated" date above will change with it.
Questions about this policy? Email [email protected].