Privacy Policy

What ByeFeed collects, what stays on your phone, where your data is stored, who can see it, how long it is kept, and how to delete it.

Last updated: 14 October 2026

On this page

1. Introduction and scope

ByeFeed is an app, website and short-form feed blocker for Android, made by Bros Dolz LLC (“we”, “us”). This policy covers:

  • the ByeFeed Android app (package name com.byefeed.app), and
  • this website, byefeed.app.

It explains what information each of them handles, why, where it goes, how long it is kept and what choices you have. It doesn’t cover services you reach through the app that have their own privacy policies, such as Google Play and Google Sign-In.

Bros Dolz LLC is responsible for the data described here. You can reach us at [email protected], or by post at Bros Dolz LLC, 418 Broadway Ste N, Albany, NY 12207-2922, United States.

2. At a glance

  • Blocking happens on your phone. ByeFeed only watches for the triggers on your block list. Screen content used for detection is not uploaded. Local block events and the progress data included in a cloud backup are described in section 4.
  • An account is optional. Without one, your setup and statistics stay on your phone. Requests for in-app messages, update checks and adult-site lists can still reach service providers (section 6).
  • With an account, we store your email address if you supply one, and one backup of your ByeFeed setup, so you can restore it and sync it across devices.
  • The leaderboard is opt-in. Only if you join it, your username, your hand (the picture you dressed in ByeFeed), your current streak of days won and your trophies are shown to other people who use ByeFeed (section 3). Joining needs an account with an email address. Joining is for good: you can’t leave the leaderboard; only deleting your account takes you off it.
  • Pacts are judged by our server. If you make a pact, our server keeps when it started, when it ends and how it went, and decides the trophies it earns. Pact requests contain a settings fingerprint and a random installation ID; your group’s actual settings are stored separately in your cloud backup (section 3). Presets you start while signed in are judged the same way, and their requests name only the preset and its length (section 3).
  • Payments go through Google Play. We never see your card or bank details.
  • No ads, no tracking and no crash-reporting service. The only things we count are anonymous totals for our in-app messages, never who saw them (section 3). We don’t sell your data.
  • Sharing is limited. We use the service providers in section 12, and share leaderboard information only if you join. Nothing goes to an AI model.
  • You can delete your account inside the app. Its live account records are deleted immediately. The exceptions for logs, support messages and database backups are explained in section 10.

3. Information we collect

What we hold depends on whether you have an account. If you choose Continue without an account during setup, no account or cloud backup is created: your setup stays on your phone and no account record or cloud backup is created. The app can still request in-app messages and report message events; providers receive ordinary connection information, such as your IP address (section 6).

An account is created only when you:

  • create one with an email address and password (confirmed with a 6-digit code we email you),
  • sign in with Google, or
  • redeem an unlock code while signed out. The code has to belong to an account, so the app creates one with no email address and no password on it. It asks you first.
Information When Why Kept until
Account ID Any account To identify your account and link your backup and purchases to it You delete the account
Email address Email or Google accounts To sign you in and confirm requests are yours You delete the account
Password hash Email accounts To sign you in You delete the account
Google sign-in details Google accounts To sign you in without a password You delete the account
Your ByeFeed setup (cloud backup) Any account To restore your setup and sync it across devices You delete the account
Purchase and subscription records Pro bought while you have an account To confirm Pro and keep its status current You delete the account
Unlock code redemptions You redeem a code To grant Pro and stop codes being guessed You delete the account; failed attempts become eligible for cleanup after 24 hours
Username You choose one (accounts with an email address only) To show you on the leaderboard, if you join it, and moderate reported names You delete the account; moderation records may remain as described in section 9
Leaderboard entry: your streak and your hand You join the leaderboard To rank you on the leaderboard and show your hand beside your username You delete the account (you can’t leave the leaderboard)
Pacts and trophies You make a pact To decide whether a pact was kept and award its trophies once You delete the account
Preset runs You start a preset while signed in with an email address To decide whether a preset was kept and award its trophies once a day You delete the account
Support emails You write to us To answer you As long as needed to help you

Accounts with no email address become eligible for automatic cleanup after 90 days without activity, unless they hold Pro (section 9).

Account information

  • Account ID. A random identifier (a UUID) created by our authentication provider, Supabase, when the account is created. It isn’t derived from your phone, phone number or advertising ID. It identifies your ByeFeed account and links its records together, even when no email address is attached. The app shows it as Account ID on the account page of an account with no email address.
  • Email address, if you sign up with email or sign in with Google.
  • Records Supabase keeps about the account and its sessions, such as when it was created, when it last signed in or refreshed its session, and authentication log information.

Authentication information

  • Password. If you create an account with email and password, Supabase stores only a one-way hash of your password (bcrypt), never the password itself. We can’t see it.
  • Google sign-in. If you choose Continue with Google, Google confirms who you are and passes ByeFeed a sign-in token with your Google account’s email address and the basic profile details Google includes, such as your name and profile picture link. Supabase keeps these with your account. No password is stored. ByeFeed doesn’t show or use your name or picture.
  • Verification codes. We email 6-digit codes to confirm a new account, reset a password or change an email address. Each code expires after 15 minutes. ByeFeed has no passwordless sign-in; codes are only used for these three things.
  • Sign-in session. Once you are signed in, a session token is kept in the app’s private storage on your phone so you stay signed in.

Your ByeFeed setup (cloud backup)

If you have an account, the app keeps one backup of your setup in our database, up to 2 MB, so you can restore it and use it on more than one device. It contains:

  • your block groups: the apps, websites, keywords and short-form feeds you chose to block, their schedules and session limits;
  • your protection and cooldown settings: countdown lengths, pause length, PIN attempt limit, which settings are PIN-protected, and the PIN-recovery amount you chose (see Paid PIN recovery);
  • a SHA-256 hash of your PIN, never the PIN itself. If you let a friend hold your PIN, ByeFeed makes it and opens your share sheet; the message goes through whatever app you pick, and ByeFeed keeps only the hash;
  • your default redirect site;
  • statistics counters: blocks today, how many times you have paused blocking, and the date and app of the last pause;
  • your pause history: for each time you paused blocking, switched off or deleted a blocking group while it was blocking, or restored a group’s sessions, the time, the app or group, which of these it was, and what you picked or typed if you chose to say what was pulling you in (such as “bored” or “tired”; you can say nothing);
  • your days: for each day since you started using this feature, whether you kept your blocking groups (won, lost, a rest day you declared, or not counted), how many blocking groups were on, how many times you went back from a block screen and how many times you paused, any estimated reclaimed minutes, and whether the day was verified and finalized;
  • your Studio screens: which screen each one is for (the block screen or one of a session’s prompts), their names, words and themes, whether they show your hand, and which blocks they are for. The pictures you chose for them are not included; they stay on your phone;
  • your hand: its skin tone, pose and background;
  • the achievements you have (for days won and for pacts) and when each came;
  • how you labelled apps in your statistics (productive, neutral or distraction);
  • what you told ByeFeed while setting up: the apps and kinds of things that pull you in, what you keep of each app, when it gets you, how often you open apps without deciding to, your guess at your daily phone time, what you would rather be doing and your reason in your own words, how much time you want back and how firm you chose to be. The screen time ByeFeed measures on your phone is not included.

The websites and keywords in the backup are the ones you chose to block. They are part of your settings, not a record of anything you visited. The backup never contains the web addresses you open, your searches, the pages you view or your detailed app usage.

Purchase information

If you buy Pro, Google Play handles the payment. What we receive and keep is described in Payments and refunds. In short: the purchase token and product, your plan and its status, and the purchase record Google Play returns. Never your card details.

In-app messages

The people who run ByeFeed can show a message on the app’s Home screen, as a popup or a card: news about an update, an offer, or a note about your account. There is no push service behind it. When you open the app, it asks our server whether there is a message for you:

  • Without an account, the request carries nothing that identifies you, and you receive only messages meant for everyone. No account-linked message record is created, although Supabase may keep ordinary request logs.
  • With an account, the request uses your sign-in session, so a message meant only for your account, or for a group such as Pro subscribers, can reach you. A message addressed to your account specifically is stored with your account ID (section 5).
  • Your app version is not sent. A message meant for certain versions of the app, such as a reminder to update, reaches every phone, and each phone decides for itself whether to show it.
  • Which messages you closed stays on your phone. We don’t record who saw, tapped or closed a message. The app does report, once per message, that it was shown, its button tapped or it was closed, and we keep only the totals, with no account ID or anything else that identifies you or your phone. When signed in, this event request also uses your session. Supabase receives ordinary connection information, even though the message counters themselves contain no user identifiers.

The leaderboard

The leaderboard ranks everyone who joined, worldwide, by two things: their current streak of days won and their trophies. It is off until you join, from the Leaderboards screen. Joining is the one part of ByeFeed that shows something about you to other people, and it needs an account with an email address (or Google), so you can sign back in to it. An account with no email address is asked to add one first. When you join, other people who use ByeFeed can see:

  • Your username. You choose it once, and it belongs to your account. Pick something that is not your name. It is shown exactly as you typed it. Your first change is instant; after that you can change it once a week.
  • Your current streak of days won. Your phone sends the number and the last day it covers to our server; the public board shows the number and your rank. The date is not shown to other users. The streak is counted on your phone, rather than independently verified by the server.
  • Your trophies, which our server works out from the pacts and presets it confirmed you kept (below).
  • Your hand, the hand you dressed in ByeFeed, as a small picture beside your username. Only its skin tone, pose and background colour are sent, never a photo. The join screen lists it, and joining is agreeing to show it: it is shown for as long as you are on the leaderboard, changes when you dress your hand differently, and comes off only with your entry. Until your phone has sent it, a plain hand shows in its place.

Nothing else is published on the board: not your blocking groups, not the apps or sites you block, not your reasons, not your times, not your email address. Other people who use ByeFeed see your username, your hand, your streak and your trophies on the board, and nothing more about you.

Joining is for good. There is no way to leave the leaderboard while you keep your account, and the join screen says so before you join. Your entry, your hand and your place on the board stay until you delete your account (section 10), which removes them at once, or until the people who run ByeFeed remove them. We have no word list for usernames: if one is reported to us (section 25), the people who run ByeFeed can remove it.

Pacts

A pact is a promise to keep one blocking group on, exactly as it is, for a set time, from 7 days to a year. Keeping it to the end earns trophies, once. Pacts need an account with an email address, and our server keeps, for each one:

  • how long it is and the trophies it pays;
  • when it started and when it ends, by our server’s clock;
  • whether it was kept, broken or ended early, when, and why (for example, that the group was turned off or blocking was paused);
  • the number your phone uses for the group, and a random ID for the installation of ByeFeed it runs on;
  • a fingerprint of the group’s settings: a one-way hash mixed with a secret that never leaves your phone, so it can be compared with a later one but says nothing about what the group blocks;
  • when your phone last checked in, and when the pact last moved to another phone.

While a pact runs, your phone checks in with the same fingerprint when you open ByeFeed, at most every 15 minutes. If you get a new phone or install ByeFeed again, you can move the pact to it within 24 hours of the old phone last checking in: our server then records the new installation ID, group number and fingerprint in place of the old ones, and the old phone can no longer report on it. The trophies you earn are recorded with the pact they came from. None of this is shown to anyone else; only your trophy total is, and only if you join the leaderboard. Pact requests do not include your group’s name or block list. Your cloud backup does include your group’s settings, as described above, so the fingerprint does not make those separately stored settings anonymous.

Presets

Presets are ready-made blocks you start with one tap, such as Focus mode or Night owl. Keeping one to the end earns trophies, once per preset per day. If you start one while signed in with an email address, our server keeps, for each run:

  • which preset it was and the trophies it pays;
  • when it started and when it ends, by our server’s clock, and the calendar day it counts for (your phone sends its time zone offset for this);
  • whether it was kept, broken (blocking was paused, or ByeFeed’s accessibility service was turned off) or ended early, and when;
  • the random ID for the installation of ByeFeed it runs on.

Preset requests contain the preset’s name and its length, never the apps or websites it blocks, which stay on your phone. Without an account, or offline, a preset blocks just the same and nothing is sent. None of this is shown to anyone else; only your trophy total is, and only if you join the leaderboard.

Support emails

If you email us, we receive your email address, your message and anything you choose to include, such as a problem report from the app. We use it only to help you.

4. Information processed on your phone only

Blocking is decided entirely on your phone. ByeFeed checks for the triggers you set up. The screen content read to detect those triggers is not uploaded. Local block-event records and backed-up progress counters are described below.

How ByeFeed detects what to block

ByeFeed uses Android’s accessibility service, the system feature for apps that respond to what happens on screen. It is turned on only after you accept a separate notice in the app, and you can turn it off at any time in Android’s Accessibility settings.

Android lets ByeFeed know when the app or screen in front of you changes. Each time, ByeFeed runs only the checks your block list needs:

  • Blocked apps. It checks which app just came to the front against the apps you chose to block.
  • Blocked websites and keywords. In supported browsers (Chrome, Samsung Internet, Firefox, Edge, Brave, Opera, DuckDuckGo, Vivaldi and Kiwi), it checks the address in the address bar against your blocked sites and keywords. While you are typing in the address bar it waits, so a half-typed address never counts.
  • Adult websites, only if you switch this on for a blocking group. The same address is also checked against a public list of adult sites kept on your phone (see section 12). The block screen and your pause history say “Adult website” rather than naming the site.
  • Short-form feeds. In the apps where you switched a feed off, it looks for the specific screen elements that mark that feed, such as the Reels player, by their built-in names and labels. It stops as soon as it finds one.
  • Other apps’ built-in browsers, only if you turn this on. When you open a web page inside another app, it checks that page for your blocked sites and keywords. Some apps never show the page’s address, so it also reads the text on screen in other apps and the text of what you tap there, such as a chat with a link, to recognise the link before the page opens.

If something matches, the block screen appears. If nothing matches, ByeFeed does nothing. Either way the screen content used for the check is not saved as a browsing history or uploaded, and ByeFeed never records what you type in other apps. When a block screen appears, a local queue temporarily records the matched app or configured blocking target, the time and the blocking group. When the app processes that queue, it clears it and saves a block-history entry with the time, group and your choice (go back, pause, or start or skip a session), omitting the matched target. This block history stays on your phone. Daily block and outcome totals and pause history are included in the cloud backup if you have an account (section 3).

Usage access

If you allow usage access, ByeFeed reads how long you spend in each app to show your statistics, and uses it to recognise the app in front of you more reliably. If you tap See your actual screen time during setup and turn usage access on, it also adds up your screen time from the last 7 days to show you your daily average and your top 3 apps. You can skip this; setup never asks for usage access unless you choose to see it. This usage data stays on your phone. Only the statistics counters listed above are part of the cloud backup.

Data stored on your phone

The app keeps its working data in its private storage on your phone: your block groups and settings, statistics, pause history, a log of blocks with what you chose on each block screen, your achievements and scheduled reminders, your Studio screens and the pictures you chose for them (copied into the app’s storage, and never uploaded), your hand, your days (see section 3), the dates on which blocking was running (so a day your phone was off is never counted as won), per-app open counts, your PIN hash, the Google Play purchase token (so Pro works offline and without an account), the in-app messages it last received with which ones you closed, and the list of adult sites if a blocking group uses it. Other apps can’t read it. Uninstalling ByeFeed, or clearing its data in Android’s settings removes its private app storage. Delete account and Clear data reset the app’s records, but some locally copied Studio pictures, cached files and purchase-recovery records can remain until you clear Android app data or uninstall. They are not uploaded to our server.

If you make a pact, your phone also keeps its own record of it: the secret the pact’s fingerprint is made with, which never leaves your phone, and a random ID for this installation of ByeFeed (section 3). Signing out keeps it, because your blocking groups stay on the phone; clearing ByeFeed’s data or uninstalling it removes it. A pact whose record is gone can still be moved to this installation within 24 hours of its phone last checking in (section 3); otherwise it can no longer earn its trophies.

ByeFeed also notes on your phone when its accessibility service was last running and when it was switched off, so a pact breaks only when the service stays off for 24 hours or more, and a preset breaks if it is switched off while the preset runs. Your presets, how you set them up and the runs of the last 45 days are kept on your phone too. None of this is sent to our server.

ByeFeed turns off Android’s automatic app backup, so none of this is copied to your Google Drive backup.

5. Information stored in our database

Our backend runs on Supabase, which provides the authentication service and a PostgreSQL database. This is every place data about an account is stored:

Record What it contains Who can read it
Account Account ID, email address, password hash (email accounts), Google sign-in details (Google accounts), and when it was created and last signed in Supabase’s authentication service
Profile Account ID, whether Pro is on, and when it was created and updated Our server functions only
Backup Your ByeFeed setup (see section 3), its format version and when it was last updated Only your own signed-in account
Subscription Plan, product, Google Play purchase token, status, auto-renew, end of the current period, start date, and the purchase record returned by Google Play Our server functions only
Code redemptions The code you redeemed, when, and when its Pro ends Our server functions only
Redemption attempts Account ID, codes tried and when, to stop guessing. Entries older than 24 hours are removed the next time a signed-in redemption request runs Our server functions only
Account transfer tokens A single-use token, used when you add an email or Google account that already has a ByeFeed account. Linked to the originating account ID, with creation, expiry and claim times; expires after 15 minutes Our server functions only
Username Only if you choose one: account ID, your username and when you last changed it. Reserved usernames (brand words and ones we have blocked) are kept in a list with no account IDs Shown to other people who use ByeFeed only while you are on the leaderboard. Otherwise: our server functions and the people who run ByeFeed
Leaderboard entry Only if you join the leaderboard: account ID, your current streak and the last day it covers, when you joined and when your phone last sent your streak; your hand's skin tone, pose and background colour and when you last changed it Your username, hand, streak and trophies are shown to other people who use ByeFeed on the board. The rest: our server functions and the people who run ByeFeed
Pacts Only if you make a pact: account ID, its length and trophies, when it started and ends, how and when it ended and why, the number your phone uses for the group, a random ID for the installation it runs on, the fingerprint of the group’s settings (see section 3), when your phone last checked in and when the pact last moved to another phone Your own signed-in account, through our server functions, and the people who run ByeFeed (as totals)
Preset runs Only if you start a preset while signed in with an email address: account ID, which preset, the trophies it pays, when it started and ends, the calendar day it counts for, how and when it ended, and a random ID for the installation it ran on (see section 3) Your own signed-in account, through our server functions, and the people who run ByeFeed
Trophies One line for each pact or preset you kept that paid: account ID, the pact or preset run, the trophies it paid and when Your own signed-in account and the people who run ByeFeed. Your total is shown to other people only while you are on the leaderboard
Admin actions Changes the people who run ByeFeed make to an account in our admin dashboard, such as turning Pro on as a make-good or moderating a username: the account ID, what changed, who changed it, when, and the reason they gave. Moderation details can include the username The people who run ByeFeed
Messages and recipient records Message content and, for messages sent to specific accounts, a separate recipient record linking the message to your account ID. Messages sent to everyone or to a group have no recipient list Your own signed-in account, and the people who run ByeFeed

The database also holds housekeeping records with no personal data: counts of inactive accounts removed by the cleanup job described in section 9 (kept for two years, with no account IDs), the anonymous totals for each in-app message (how many times it was shown, its button tapped and closed, with no account IDs), and a heartbeat that keeps the database active.

6. Device and technical information

  • Installation ID for pacts and presets. ByeFeed creates a random ID for this installation of the app and sends it with pact and preset requests, linked to your account. Clearing Android app data or reinstalling creates a new one. It does not collect your advertising ID, Android ID, IMEI, serial number or phone number.
  • Problem reports are yours to send. A report from Report a problem contains technical details about your phone and the app (see section 19). It only reaches us if you choose to send it.
  • IP addresses. When the app connects to Supabase (to sign in, back up, verify a purchase, redeem a code, use the leaderboard, pacts or presets, or check and report events for in-app messages), Supabase receives your IP address and ordinary request metadata as part of the connection. This includes requests without an account. It may keep them in its service logs for security and operation, and its sign-in log can include the IP address used. We don’t use IP addresses to locate you or build a profile of you.
  • Crash reports through Google. ByeFeed has no crash-reporting service of its own. If you allow your phone to share usage and diagnostics with Google, Android may report ByeFeed crashes to Google, and we can see them as crash reports in the Google Play Console. These contain technical details such as the phone model, Android version and the error, not your name or contact details.
  • Update checks and adult-site downloads. The Android app asks the Play Store on your phone whether an update is available. If you enable Adult websites, it downloads the block list from GitHub, with jsDelivr as a fallback. Those services can receive connection information even without a ByeFeed account. No browsing history or blocked-site query is sent to the list providers.
  • No analytics SDKs. ByeFeed and this website use no analytics or tracking SDKs. The app measures usage locally for your statistics, backs up the progress data described in section 3 when signed in, and sends the message events described in section 3. Message counters store totals rather than a per-user history.

7. Cookies and local storage

This website sets no cookies, runs no analytics and loads nothing from other companies: its fonts, images and scripts are all served from byefeed.app. Your browser’s local storage is used for two preferences, and only if you set them: the country you pick in the pricing section (bf-country) and the light or dark theme you choose with the theme button (bf-theme). They stay in your browser, are never sent to us, and you can clear them with your browser’s site data. The website is hosted by GitHub (GitHub Pages), which receives the standard information any web server sees, such as your IP address and browser type, in order to deliver the pages and keep them secure, under GitHub’s Privacy Statement.

The app uses no cookies or advertising identifiers. It stores its own data on your phone as described in section 4, including your sign-in session if you have an account.

8. Why we use it

Information What we use it for
Account and sign-in details Signing you in, keeping your backup private to you, and confirming that a request about the account really comes from you
Cloud backup Restoring your setup on a new phone or after reinstalling, and keeping your devices in sync
Purchase records Confirming that a purchase is genuine and active, unlocking Pro, keeping its status current through renewals, cancellations and refunds, and stopping one purchase being claimed by two accounts
Code redemptions Granting Pro for the code’s period and limiting guessing
Username and leaderboard entry Showing you, with the username you chose and your hand, on the leaderboard you joined, and ranking you by your current streak and by your trophies
Pacts and trophies Deciding, by our server’s clock and with the group’s fingerprint, whether a pact was kept, and paying its trophies once
Preset runs Deciding, by our server’s clock, whether a preset was kept, and paying its trophies once a day
In-app messages Telling you about updates, offers and anything about your account, and seeing, in anonymous totals, whether a message was useful
On-phone blocking checks and usage time Enforcing your blocks and limits and showing your own statistics
Support emails and problem reports Answering you and fixing problems

We don’t use any of it for advertising or to build profiles of you.

9. How long it is kept

  • Email and Google accounts, with their backup, purchase and redemption records: until you delete the account.
  • Accounts with no email address: until you delete them with Clear data, or through automatic cleanup once they have been inactive for 90 days, unless the account holds Pro through a subscription or an unlock code. Activity means the app refreshing its sign-in, saving a backup or trying or redeeming a code. The cleanup is scheduled once a week and deletes eligible accounts in batches, so deletion may occur later than the 90-day threshold.
  • Leaderboard entry: until you delete the account; you can’t leave the leaderboard. Your hand goes with it. A streak stops counting when its last covered day is more than three days behind the current UTC date; a fresh report can make it count again.
  • Username, pacts, preset runs and trophies: until you delete the account. A broken or ended pact or preset run is kept too, so it can never be counted twice or brought back.
  • Failed code attempts: entries older than 24 hours are removed when the next signed-in redemption request runs, or when the account is deleted. Cleanup is request-driven, so they may remain longer than 24 hours if no further request runs.
  • Admin actions: entries older than two years are removed when the next admin action is logged. Account deletion removes the target account ID, but does not erase the action details or the administrator’s reason. A username recorded during moderation can remain in those details.
  • Reserved usernames: brand names and blocked usernames are kept to prevent reuse. This list has no account IDs, but a blocked name can remain after its former account is deleted.
  • Account transfer tokens: they expire 15 minutes after they are created, and are deleted with the account they came from.
  • In-app messages: until the people who run ByeFeed delete the message. Account deletion deletes your recipient record, but not the original message content or its aggregate counters. The counters are deleted when the message itself is deleted.
  • Verification codes: they expire after 15 minutes.
  • Support emails: as long as needed to help you and to keep a record of requests we acted on, such as deletion requests.
  • Data on your phone: account deletion and Clear data reset the app’s records. Some copied pictures, cached files and purchase-recovery records may remain in app storage. Clear the app’s data in Android’s settings or uninstall to remove that storage.
  • Provider service logs: according to the provider’s retention settings and policies; account deletion does not necessarily remove existing connection or authentication logs.
  • Database backups: see section 17.
  • Records Google keeps about your purchase: kept by Google under its own policies.

10. Account and data deletion

You can delete your account yourself, inside the app, at any time:

  • Email or Google account: Settings → your email address under Account → Delete account.
  • Account with no email: Settings → Account with no email → Clear data.

There is no way to leave the leaderboard without deleting your account: deleting it is what takes your entry, your streak and your hand off the board.

Both delete your account immediately after the server confirms the request. Deleting the account also deletes the live records linked to it: your profile, cloud backup, subscription record, code redemptions, username, leaderboard entry, pacts, preset runs, trophies, transfer tokens and message recipient records, and it removes the target account ID from admin action entries. The app then resets its records on the current phone.

What deletion doesn’t touch:

  • Your Google Play subscription. It isn’t cancelled or refunded. Cancel it in the Play Store.
  • Google’s own records of your purchase, which Google keeps under its own policies.
  • Database backups made before the deletion, until they expire (see section 17).
  • Original in-app messages and their aggregate counters. Your recipient link is removed, but the message itself remains until it is deleted by the people who run ByeFeed.
  • Admin audit and reserved-name records, including usernames captured during moderation; deleting the account removes the audit entry’s target account ID but not its other details.
  • Support emails and provider service logs, subject to the retention described in section 9.
  • Remaining local files, such as copied Studio pictures and purchase-recovery records. Clear Android app data or uninstall to remove the app’s private storage. Deletion on this phone also does not remotely erase local data on another phone.

Signing out or uninstalling the app does not delete your account. If you can’t use the app, you can ask us to delete the account by email. The Delete Account page explains every route step by step.

11. Who can access your data

  • You, through the app. The database only lets a signed-in account read and write its own backup.
  • Other people who use ByeFeed, but only if you join the leaderboard, and only your username, your hand, your current streak and your trophies. Nobody can read the rest of your entry, your pacts, your preset runs or any other record.
  • Bros Dolz LLC: the people who run ByeFeed can access the database through Supabase’s administration tools and our own admin dashboard, and do so when needed to run the service, answer a support or privacy request, act on a deletion request, or look into a problem. The dashboard needs a password and a second sign-in step, shows only what those tasks need (it never shows what is inside your cloud backup), and records every change made through it, including every in-app message it sends.
  • Our service providers (section 12), only as needed to provide their service to us.
  • Authorities, only where the law requires us to disclose information.

12. Third-party technologies and services

ByeFeed uses a small number of outside services. Each receives only what it needs to do its job:

Service What it does for ByeFeed What it may process
Supabase Accounts and sign-in, the PostgreSQL database, and the server functions that verify purchases and receive Google Play updates Account ID, email address, password hash, Google sign-in details, your cloud backup, purchase and redemption records, usernames, leaderboard entries, pacts, preset runs and trophies, installation IDs and pact fingerprints, message requests and events, and connection information such as IP addresses
Google Sign-In Lets you sign in with your Google account, using the account picker on your phone Your Google account’s email address and basic profile, and the sign-in token. Covered by Google’s Privacy Policy
Google Play Billing and the Google Play Developer API Takes payments and runs subscriptions. Our server asks Google Play whether a purchase is genuine, and Google Play tells our server about renewals, cancellations and refunds Google handles your payment details. We exchange the purchase token and product with Google, and the app gives Google Play your Account ID with each purchase so Google can link the purchase to your account
Google Play and Android Distribute and update the app, and may send crash reports if you allow it As described by Google; see section 6
Google Workspace (email) Delivers the 6-digit codes we email you for sign-up, password reset and email changes Your email address and the email it delivers
GitHub (GitHub Pages) Hosts this website, byefeed.app Standard web request information, such as IP address and browser type. Covered by GitHub’s Privacy Statement
GitHub and jsDelivr (adult sites list) Serve the public list of adult sites (HaGeZi’s NSFW list) that the app downloads about once a week, only while a blocking group has Adult websites switched on. The app tries GitHub first and jsDelivr if GitHub can’t be reached Standard web request information, such as IP address. The request carries nothing about you or your blocking groups, and the list is checked on your phone. Covered by GitHub’s Privacy Statement and jsDelivr’s Privacy Policy

Email you send to [email protected] is received and handled by Bros Dolz LLC itself. ByeFeed also includes open-source libraries that run only on your phone and send nothing anywhere, for example its local database and its network-status check.

Not used: ByeFeed contains no analytics services (such as Firebase Analytics or Google Analytics), no crash-reporting services (such as Crashlytics or Sentry), no push notification services, no AI services, no advertising networks or SDKs and no social-media SDKs.

Apart from the services in this table, which only do a job for ByeFeed or for you, ByeFeed doesn’t share information about you with any third party.

13. No selling, renting or advertising

We don’t sell, rent or trade personal data. We don’t share it with anyone for advertising or marketing. There is no advertising in ByeFeed and no advertising identifier is collected. ByeFeed is paid for by Pro, not by your data.

14. What ByeFeed does not do

  • It doesn’t show ads or include any advertising SDK.
  • It doesn’t include analytics, tracking or crash-reporting SDKs.
  • It doesn’t collect your advertising ID, Android ID, IMEI, serial number or phone number.
  • It doesn’t keep or upload your browsing history, searches or the pages you view.
  • It doesn’t upload the screen content read for blocking checks. Local block events and backed-up progress and pause records are described in section 4.
  • It doesn’t record what you type in other apps.
  • It doesn’t access your location, camera, microphone, contacts, SMS or call logs. It opens a photo or file only when you pick one yourself for a Studio screen, and then only that one.
  • It doesn’t use your fingerprint, face or any other biometric data.
  • It doesn’t sell your data or share it for advertising.
  • It doesn’t send your data to AI services.
  • It doesn’t lock, wipe or otherwise control your phone.
  • It doesn’t copy its data into your Google Drive backup.

15. App permissions

ByeFeed is a blocker, so it asks for some powerful permissions. Each is asked for when a feature you are using needs it, and the app tells you whether that feature needs it or just works better with it. This is every permission the app declares:

Permission What ByeFeed uses it for Needed?
Accessibility service Detecting the triggers you set (a blocked app opening, a blocked website or keyword in your browser, a short-form feed you switched off) and showing the block screen. How it works Yes, for blocking. You turn it on yourself after a separate notice
Usage access Measuring time in each app for your statistics, and recognising the app in front of you more reliably For statistics. Blocking works without it
Display over other apps Showing the block screen, session prompts and the session timer on top of other apps Yes
Foreground service Keeping blocking running in the background, with the ongoing notification Android requires Yes
Notifications The “blocking is on” notification, time left in a session, blocking paused, reminders about missing permissions, and your progress: the weekly recap and the evening before a rest day. They are all made on your phone; none is sent from our servers. Each can be switched off in your phone’s settings Optional
Ignore battery optimisation Stopping Android from shutting down blocking in the background Optional, recommended
Run at startup Starting blocking again after your phone restarts or the app updates Granted automatically
Device admin Only for Prevent Uninstall: stopping ByeFeed being uninstalled while that setting is on. It declares no other device-admin powers Optional, off unless you turn it on
Internet and network state Signing in, backing up, verifying purchases, redeeming codes, fetching in-app messages and reporting their events, using the leaderboard, pacts and presets, downloading adult-site lists, and retrying a backup when your connection comes back Granted automatically
Google Play billing Buying Pro and paid PIN recovery Granted automatically
Visibility of launchable apps Listing the apps on your phone that have a launcher icon, so you can pick which to block. ByeFeed doesn’t request access to the full list of installed packages Granted automatically
Biometric and fingerprint Added automatically by Android’s Credential Manager library, which Google sign-in uses. ByeFeed itself never shows a fingerprint or face prompt and never uses your biometric data Not used by ByeFeed
Internal app permission Created automatically by an Android support library so ByeFeed’s own components can signal each other privately. Only ByeFeed holds it, and it gives no access to your data Granted automatically

Never requested: location, camera, microphone, contacts, SMS, call logs, calendar, photos, files or storage, and the full list of installed apps (QUERY_ALL_PACKAGES). A Studio picture is picked with Android’s own picker, which needs no permission and gives ByeFeed only the one picture you choose.

16. Security

  • Encryption. Everything the app sends to our backend travels over HTTPS (TLS). Supabase encrypts the database at rest.
  • Row-level security. Every table in the database has row-level security turned on. A signed-in account can read and write only its own backup. Purchase, profile and redemption records are available to the app only through server functions that check its session; the app cannot directly read or change those tables. Leaderboard functions expose only the board information described above.
  • Least privilege. The app’s database roles hold only the permissions they use, and functions that run with extra rights are locked down. The administrative key for the database is never included in the app.
  • Verified purchases. Google Play confirms purchases on your phone. If you have a ByeFeed account, our server also verifies the Pro purchase with Google Play before granting a cloud entitlement; the same purchase token cannot be claimed by two accounts.
  • Limits. Each backup is capped at 2 MB, and sign-in and code redemption are rate-limited.
  • Passwords and PIN. Passwords are stored as bcrypt hashes by Supabase. Your PIN is stored as a SHA-256 hash, never as the digits.
  • Reviews. We audited the backend’s access controls in July 2026 and fixed what we found.

No system is perfectly secure. If you believe you have found a security problem, please email [email protected].

17. Backups

“Backup” means two different things here:

  • Cloud backup is the app feature: the copy of your ByeFeed setup kept with your account (section 3). For an account with no email address, created by redeeming a code, it is removed with the account by the weekly cleanup after 90 days without activity (unless the account holds Pro); batch limits can delay that cleanup. For an email or Google account, it is kept until you decide to delete the account. Either way, it is deleted the moment the account is.
  • Database backups are copies of the whole database that exist so it can be recovered after a hardware failure, a mistake or a security incident.

Our database is hosted by Supabase, and database backups are made by Supabase as part of its hosting service, according to the service plan we use. Before we change the structure of the database, we may also take a one-off backup through Supabase.

Database backups are kept only for a limited period and then expire on their own. If you delete your account, copies of its data can remain in database backups made before the deletion until those backups expire. Backups exist only so the service can be recovered.

18. Payments and refunds

Who processes payments

ByeFeed Pro and paid PIN recovery are sold only through Google Play, using Google Play Billing. There is no other payment provider. Google processes the payment and holds your payment details under Google Payments’ privacy notice.

What ByeFeed receives

We never receive or store your card number, bank details or billing address. When you buy Pro:

  • Google Play gives the app a purchase token and the product you bought. The app keeps them on your phone, which lets Pro work offline and without an account. Without a network connection, Pro keeps working for up to 7 days before the purchase is checked again.
  • If you have an account, the app sends the token and product to our server, which asks Google Play whether the purchase is genuine and active. We then store your plan (monthly, yearly or lifetime), the product, the purchase token, its status (for example active, cancelled, expired or refunded), whether it auto-renews, the end of the current period and when it started, together with the purchase record Google Play returns. That record includes details such as the order number, the country of purchase, and the purchase, renewal and expiry times.
  • Google Play keeps our server informed about renewals, cancellations, refunds and other changes to that purchase.
  • With each purchase, the app gives Google Play your Account ID (if you have an account), so the purchase can be linked to your account.

You can buy Pro without an account. In that case nothing about the purchase is sent to us; Google Play confirms it on your phone.

Subscriptions and one-time purchases

Pro is available as a monthly or yearly subscription, or as a one-time lifetime purchase that doesn’t renew or expire. Subscriptions renew automatically until you cancel. Prices are set per country and shown by Google Play before you confirm; if Google Play offers you a free trial, it shows its length and when you will be charged.

Paid PIN recovery

In PIN settings you can choose an amount you will have to pay to reset a forgotten PIN, or leave it free. If you chose an amount, tapping Forgot PIN? asks Google Play to charge it, shown in your local price, and your PIN is cleared once Google Play confirms the payment. Each reset is a separate one-time purchase. The purchase is handled entirely on your phone: the app keeps its purchase token only to make sure one payment resets your PIN once, and nothing about it is sent to our server, with or without an account. Like any purchase, the app gives Google Play your Account ID with it if you have one.

Cancellation

Cancel at any time in the Play Store (Payments & subscriptions → Subscriptions) or at play.google.com/store/account/subscriptions. Manage subscription in the app opens the same page. Pro stays on until the end of the period you have paid for. Uninstalling ByeFeed or deleting your ByeFeed account doesn’t cancel a subscription.

Refunds

Refunds are handled under Google Play’s refund policy. To request one, find the purchase in your Google Play order history and choose Request a refund, or follow Google’s guide, Get refunds on Google Play purchases. If a purchase is refunded, Google Play tells our server and the purchase is marked as refunded, so Pro ends for that purchase.

Our Terms and Conditions explain purchases and refunds. Your rights under applicable consumer law still apply. If you think you were charged by mistake, or Google can’t help, email [email protected] with your Google Play order number (it starts with GPA.) and we will look into it. Never send us card details.

19. Support and diagnostics

Contacting support

Email [email protected]. Include what is needed to help you: a description of the problem, your phone model and Android version, and for account or purchase questions, the email address on the account, your Account ID if you have one, or your Google Play order number. Never send your password, PIN, a verification code or card details. We will never ask for them.

Problem reports

In the app, Settings → About → Report a problem builds a report you can read before doing anything with it. It contains:

  • the date and time, the app version and build number;
  • your phone’s manufacturer and model, Android version, and technical build details (build fingerprint and processor type);
  • up to 20 recent events inside the app, such as a sign-in error message;
  • the details of the last crash, if there was one.

Email report opens a pre-filled email to us in your own email app, and Copy report copies the report. Nothing is sent unless you send it.

What is collected automatically

ByeFeed doesn’t send diagnostic information automatically. If the app crashes, the crash details are saved only on your phone, so they can go into the next problem report you choose to send. Separately, Android may report crashes to Google if you allow your phone to share diagnostics (section 6).

How diagnostic information is used

Only to understand and fix the problem you reported, and to reply to you.

20. Your rights and requests

Depending on where you live, you may have the right to access the personal data we hold about you, correct it, delete it, receive a copy of it, object to or restrict how we use it, and complain to your local data protection authority.

  • Delete: do it yourself in the app, immediately (section 10), or ask us.
  • Correct: change your email address or password in the app under your account, or ask us.
  • Access or copy: the app has no export feature, so email us and we will send you the data held about your account.
  • Other requests: email [email protected].

So that we act only for the account holder, we reply to the email address on the account. An account with no email address can be identified by the Account ID shown on its account page, or by a Google Play order number if you bought Pro with it. We will ask for nothing more than we need to find the right account.

21. Children

ByeFeed is intended for a general audience. Content ratings on Google Play vary by region. If you are a parent or guardian with questions about a child’s personal data, or want to request its deletion, email [email protected].

22. Where data is processed

Bros Dolz LLC is based in the United States. ByeFeed’s accounts and database are hosted by Supabase in its East US (Ohio) region, us-east-2, in the United States. If you use ByeFeed from another country, your account data is transferred to and stored in the United States. Google and GitHub may process data in other countries under their own privacy policies.

23. Changes to this policy

We may update this policy as ByeFeed changes. The “Last updated” date at the top shows when it last changed.

24. AI disclosure

ByeFeed was built with the help of AI-assisted development tools. This does not change what data the app collects or how it is handled; those practices are described above.

25. Contact

Questions, requests or concerns about privacy: [email protected].

By post: Bros Dolz LLC, 418 Broadway Ste N, Albany, NY 12207-2922, United States.