FixMyTok Privacy Policy
Plain-language summary - not part of the Policy
FixMyTok helps you review your own TikTok account and perform user-selected cleanup actions, including making selected videos private, deleting selected videos, removing reposts, and managing multiple connected TikTok accounts.
The important privacy distinction is that on-device processing is not the same as no network traffic. The app uses the network to connect to TikTok through the session you establish. It also uses RevenueCat for purchases, Google’s Firebase for the notifications you choose to receive, our own server at fixmytok.app when you redeem a promo code, use an optional account, or claim the post bonus, and our own analytics server at data.rafacst.me for the anonymous usage events described below. No outside analytics company receives those events. Your TikTok password is entered into TikTok’s own login page, not into a FixMyTok-owned password field.
The app also creates one random ID. On iPhone and iPad, the ID is shared with our other app, FindMyTok, which is how a purchase in one app unlocks the other. On Android, the ID stays in FixMyTok and no other app reads it. Either way, the ID itself holds no name, email, or TikTok data, and it lets a promo code work once per person. Section 5.4 explains it.
You can also create an optional FixMyTok account. On iPhone and iPad you can use Apple, Google, or an email address and a password. On Android you can use Google or an email address and a password. You do not need an account to use the app. An account holds your email address, and you can join our newsletter with it. A verified account that joins the newsletter gets a one-time bonus of free actions. A signed-in account can also earn a bonus each month for a TikTok video about FixMyTok (Section 5.11). Section 5.9 and Section 5.10 say what we keep, and you can delete your account in the app, on either platform, at any time.
On iPhone and iPad, if you ask Apple for a refund, we share a few details of that purchase with Apple to help it decide, and we may ask it to decline. You can refuse this. Section 5.12 explains.
On Android, the app keeps a record of refunds on your device. After repeated refunds, the Lifetime discount stops working and new purchases pause for a time. Section 5.13 explains.
This summary is for convenience only. The sections below are the Privacy Policy.
Effective date and updates
Effective date: September 10, 2026
Last updated: October 12, 2026
We will update the “Last updated” date whenever this Policy changes. If a change materially affects how personal data is handled, we will provide any additional notice required by applicable law.
1. Who is responsible for this Policy
The controller and publisher is the Brazilian company identified in Section 19 (Contact and legal identity) below. We place the complete corporate details there so they remain easy to find without interrupting the explanation of the app’s privacy model.
Privacy and data-rights requests may be sent to [email protected].
In this Policy, “we,” “us,” and “our” refer to that controller/publisher.
2. Scope
This Policy covers the FixMyTok app for iPhone and iPad, the FixMyTok app for Android, and the product website fixmytok.app. It does not cover FindMyTok, our separate app, or the services of TikTok, Apple, Google, and the other providers named below.
The website uses basic Google Analytics and has a support form, both described below. It also holds the addresses from an email sign-up form that it no longer offers. It uses no other analytics provider. In its standard web implementation, Google Analytics may process page/session activity, browser and device information, approximate location, and a pseudonymous website client identifier commonly stored in a first-party cookie such as _ga. Google states that Google Analytics 4 does not log or store raw IP addresses.
Google Analytics is used only to understand aggregate website usage and improve the product site. We do not intentionally send TikTok account data, transcripts, search queries, purchase details, or other app content to Google Analytics.
Google Analytics is delivered through a Google Tag Manager container. We use that container to load the analytics measurement described here, not advertising or remarketing tags.
Neither the container nor Google Analytics loads until you accept it. That applies on every visit and in every country, not only where prior consent is legally required: until you accept the analytics notice, no Google script, cookie, or identifier is created. Declining is a single action in that same notice, and you can change or withdraw your choice at any time through the analytics control in the site footer, in the same number of steps it took to accept. Withdrawing also deletes the Google Analytics cookies already stored in that browser.
Email sign-up (closed). The home page used to offer a form to receive an App Store discount code and FixMyTok news by email. It no longer does. While it was open, submitting it sent your email address, locale, and the notice shown with the form to a FixMyTok endpoint. That endpoint assigned an available offer code, recorded which email address received which code in our own database (Cloudflare D1), and sent the submission to HubSpot, the service we use to store the sign-up and send those emails. Those records remain. The website loads no HubSpot script or cookie.
We use those addresses only to send FixMyTok news, such as feature updates and events. HubSpot records whether each email was opened and which links were clicked, and we use that only to see how the emails perform. Every email contains an unsubscribe link, and you can also ask [email protected] to delete your sign-up. The newsletter in the app works the same way (Section 5.10).
Support form. The support page has a form for name, email address, topic, and message. Submitting it sends those fields, your language, and the notice shown with the form to a FixMyTok endpoint. The endpoint forwards them to our support inbox through Resend, an email delivery service. The website loads no Resend script. We use the message only to answer you. The form may use Cloudflare Turnstile, a bot check. When it is on, the page loads a script from Cloudflare, and Cloudflare receives your IP address and browser signals to decide whether you are a person.
Hosting. The website and its server functions run on Cloudflare. Like any host, Cloudflare processes the IP address and request details of each visit to deliver the site and protect it from abuse.
Development diagnostics are debug-only and are removed from the production release. The production app does not provide a developer-diagnostics export or silently upload debug diagnostic logs to us.
3. How FixMyTok connects to TikTok
The user signs in through TikTok’s own login page, rendered inside a WKWebView on iPhone and iPad and inside an Android WebView on Android. The app does not ask for or store the user’s TikTok password. After TikTok establishes an authenticated web session, the app detects the session cookie TikTok sets and uses the authenticated session to perform the app’s functions on the user’s own account.
Each connected TikTok account is isolated in its own WKWebsiteDataStore on iPhone and iPad, and in its own WebView profile on Android, so two connected accounts do not share cookies. On an Android device whose WebView is too old to keep profiles apart, the app says so and allows one connected account. FixMyTok performs cleanup actions only after the user selects content and confirms the action.
TikTok receives network requests made through its own website/session and processes information under TikTok’s own terms and privacy practices. TikTok and ByteDance are not affiliated with, sponsors of, or endorsers of FixMyTok. FixMyTok is an independent app.
4. Data processed on your device
FixMyTok stores each connected account’s sign-in session, local catalogue of posts and reposts, covers, cleanup plans, and cleanup history on the device. Each account has its own WebKit website data store (on Android, its own WebView profile) so connected accounts do not share cookies. A cleanup is a persisted plan that can survive leaving the screen or reopening the app after interruption. Disconnecting an account removes that account’s sign-in, catalogue, and history from the device and does not change anything on TikTok.
The app also keeps on the device your free-action counters (the weekly allowance and share bonuses), your promo-code history, your display settings, on Android your refund record (Section 5.13), and a cache of TikTok cover images. The app builds its cleanup notices on the device (Live Activities and reminders on iPhone and iPad; the progress notification and cleanup alerts on Android), and nothing about them is sent anywhere. Disconnecting an account does not remove the settings and counters above or the ID in Section 5.4. On Android, the app keeps all of this in its private storage, and Android’s backup service is turned off for the app, so none of it is copied to your Google account.
On iPhone and iPad, FixMyTok can display cleanup progress through a Live Activity. Long-running cleanups may pause when iOS suspends the WebView or when TikTok requires attention. On Android, a cleanup keeps running when you leave the app, as a foreground service that shows its progress in a notification. It may still pause when Android stops the app or when TikTok requires attention. These are execution dependencies, not a cloud copy of the local catalogue.
Because these data are designed to remain on the device, we do not treat the local copy as a cloud account held by us. The optional FixMyTok account in Section 5.9 is separate and holds no TikTok data. Data-protection law may nevertheless regulate the processing performed by software whose purposes and means we determine. Where applicable, we therefore describe our role and legal bases in this Policy rather than claiming that local processing is automatically outside privacy law.
5. Data sent off the device
5.1 TikTok session traffic
The app sends requests to TikTok through the authenticated session you establish. TikTok can receive information inherent in web traffic and the requests necessary to provide its service. The exact categories TikTok collects through the embedded login and account pages depend on TikTok’s own pages and the login method you choose.
We have audited this traffic. The requests the app makes are those TikTok’s own pages require, plus those needed for the operations you request on your own account. The app changes content only on the items you select and confirm. We do not add tracking of our own to that traffic, and no app content is sent to a third party through it.
5.2 Anonymous usage analytics
FixMyTok sends anonymous usage events to an analytics server at data.rafacst.me. We run that server ourselves, with the Aptabase analytics software. No outside analytics company receives the events.
The iPhone and iPad app sends five events, and the Android app sends the first four:
screen_view, with the name of the screen;cleanup_started, with the type of action (for example, delete or make private) and the number of items in the run;paywall_shown, with what opened the paywall (the action you tried, or Settings);paywall_purchased, with the plan (weekly, monthly, or lifetime);post_claim, with the result code of a post-bonus claim (for example, paid or duplicate) and nothing else: no link, username, or video ID (iPhone and iPad only).
The app does not put a TikTok handle, video ID, caption, cookie, or advertising identifier into any event. The app adds a random session identifier that it keeps in memory only, plus the app version, the name and version of the operating system (iOS or Android), the device model, the language code, and a timestamp. Our analytics server also receives the IP address that every network request carries.
We add no account, device, or advertising identifier to these events, so we cannot use them to identify you. Because of that, we also cannot find or remove the events of one person.
The app starts this analytics at launch. It has no in-app switch for it today. To stop the events, delete or uninstall the app.
5.3 Purchases and RevenueCat
On iPhone and iPad, Apple processes payments and subscription renewals through StoreKit. The app unlocks Premium from this app’s verified, active StoreKit purchases or from the active shared pro entitlement that RevenueCat reports, whichever it finds. If RevenueCat cannot be reached, a valid StoreKit purchase still unlocks Premium.
On Android, Google Play processes payments and subscription renewals through Google Play Billing. The app unlocks Premium from the fixmytok_pro entitlement that RevenueCat reports for the Google Account that made the purchase. Without RevenueCat, the Android app cannot confirm a purchase.
RevenueCat receives the purchase and transaction information needed to report your purchases and restores, and it may receive technical information through its SDK. On iPhone and iPad, it also tells the app when you hold the shared pro entitlement, including one bought in FindMyTok. We do not receive your payment-card number from Apple or Google.
On iPhone and iPad, RevenueCat identifies you by the shared anonymous ID described in Section 5.4. On Android, it identifies you by an anonymous ID that its SDK creates on the device, which is not the ID in Section 5.4. Neither is a name or email. On Android, when you buy Lifetime at the discount, the app gives Google Play a one-way hash of that ID as the buyer’s account ID. RevenueCat does the same on its own purchases, so Google’s fraud checks see one buyer. On iPhone and iPad, we do not configure RevenueCat customer attributes. On Android, we set one: a count of refunds on record, named refund_strikes (Section 5.13). On both platforms, we do not configure RevenueCat integrations or webhooks, and we do not ask it to collect the advertising ID. Vendor-side retention, processing locations, and international-transfer safeguards are governed by RevenueCat’s applicable service terms and data-processing documentation.
On iPhone and iPad, when you ask Apple for a refund, RevenueCat also answers Apple’s request for information about that purchase. Section 5.12 explains.
5.4 The anonymous ID (the “shared ID”)
On first launch the app creates a random ID (a UUID). This Policy calls it the shared ID on both platforms.
On iPhone and iPad, the app stores the ID in the iOS Keychain, in an access group shared with FindMyTok, and it asks iOS to sync that Keychain item through iCloud Keychain, so the ID may also reach your other Apple devices. A copy also sits in the app’s local settings. Both apps read the same ID. That is how a purchase in one app unlocks the other.
On Android, the ID stays in the app’s private storage. It is the app’s own install ID, and FindMyTok does not share it. No other app reads it, it does not sync to other devices, and it does not survive an uninstall, so a reinstall starts a new ID. The app sends it to our server with promo-code and account requests.
The app uses the ID in four places:
- on iPhone and iPad, as your RevenueCat customer ID (Section 5.3);
- in requests about promo codes (Section 5.5);
- in the diagnostics footer of a support email (Section 5.6);
- in requests about your optional FixMyTok account (Section 5.9), on both platforms.
The ID itself holds no name, email address, or TikTok data. It is still a persistent identifier, and it lets us link those four uses to the same installation. If you create an account, our server stores the account next to the ID, so for us the ID then points to your email address. Disconnecting a TikTok account does not delete it. On iPhone and iPad, iOS can keep a Keychain item after you delete an app. If you want us to delete the records that we hold under your ID, email [email protected] with that ID. You will find it at the bottom of the support email that the app drafts (Section 5.6).
5.5 Promo codes
The app contacts our server at fixmytok.app when you redeem a promo code, when you tap Restore balance in Settings, and when a cleanup run that used promo actions ends. It also does so when you use an optional account, on either platform: to sign in, to change the newsletter setting, or to delete the account (Section 5.9). Each request sends the shared ID, the code you typed (if any), and the total number of promo actions this installation has used.
For each redemption, the server records the code, your ID, the number of actions granted, the time, and the country and city that Cloudflare derives from your IP address. It does not store the IP address. For each ID, it also records the highest count of promo actions spent and how many code attempts were made in the current hour, to limit guessing. We use these records to enforce one use per person for each code and to restore your remaining balance after a reinstall. Only we can view them. Some codes are limited to a list of IDs that we set. The sign-up bonus of an account, and each post bonus (Section 5.11), is recorded the same way, under a code name that nobody can type.
Your other free-action counters (the weekly allowance and share bonuses) stay on your device and are not sent to us.
5.6 Support email from the app
Contact Support in Settings opens a draft in your mail app. The draft ends with a diagnostics footer: the app version, the iOS or Android version (on Android, with its API level), the device model (on Android, the maker and the model), your language, your plan (free or premium), the number of connected accounts, your free-action count, and the shared ID. You can read and edit the draft before you send it, and nothing is sent until you do. The footer holds no TikTok handle or content. The shared ID in it lets us match your message to your purchase and promo records, if you have any.
5.7 Update check and sharing
Settings can check for a new version. On iPhone and iPad, the app asks Apple’s iTunes lookup service for the latest version of FixMyTok. That request carries the app’s App Store ID and your device region. On Android, the app asks Google Play, through Google Play services, whether an update is available. Google handles that request under its own terms.
When you share your progress, the app opens X, Threads, Bluesky, or Instagram. The link in your post is https://fixmytok.app/?ref= plus the name of the network, and it holds no personal data. The share card shows cleanup totals, which you can hide. On iPhone and iPad, for an Instagram Story, the app puts the card on the clipboard for five minutes. For an Instagram Feed post, the app saves the card to your Photos with add-only access, after iOS asks for permission. On Android, the app writes the card to a temporary file in its own cache and hands it to Instagram or to the Android share sheet, and the app you pick can read that one image. If Instagram is not installed, the app copies the caption and link to the clipboard and opens Instagram’s website. The button that saves the card writes it to Pictures/FixMyTok, which needs no permission on Android 10 and later. On older versions, the app opens the share sheet instead. On both platforms, the app cannot read your other photos. Nothing is posted unless you post it.
5.8 Notifications and Firebase
The notices about a cleanup that is not on screen, and the reminder that your free actions are back, are made on the device. Nothing about them is sent anywhere. The Cleanup alerts switch in Settings > Notifications turns them on or off.
Both apps also use Firebase, a Google service, for the notifications you choose to receive:
- Firebase Cloud Messaging delivers push notifications. When the app starts, Firebase creates a registration token and a Firebase installation ID for your installation, and both are sent to Google. Turning on a category (Free codes, Promotions, or New features) subscribes that token to a Firebase topic of the same name, and turning it off unsubscribes it. We send a notification to a topic, not to a person, and we keep no list of tokens.
- Firebase In-App Messaging can show a message inside the app. The app fetches messages from Google using the installation ID.
- Firebase Analytics runs only in the Android app. Until you turn on a category, Android analytics and in-app messages stay off. Once at least one category is on, Firebase Analytics collects events such as the first open and app sessions, together with the app version, the Android version, the device model, the language, an approximate location that Google derives from your IP address, the install source that Google Play reports, and a Firebase app-instance ID. The app also sets a property for each category you turned on, so that in-app messages reach only the people who asked for them. The Android app does not request the advertising ID permission and does not read the advertising ID or the Android ID. Turning off every category switches Analytics and in-app messages off again. Firebase Analytics is switched off in the iPhone and iPad app.
Every category starts off. You can turn a category on during setup or later in Settings > Notifications. On Android, the app asks for notification permission when you turn one on. The Firebase installation ID and the registration token stay on the device while the app is installed.
5.9 The optional FixMyTok account
You do not need an account to use FixMyTok. You can create one in Settings > Account:
- On iPhone and iPad, with Sign in with Apple, with Google, or with an email address and a password.
- On Android, with Google or with an email address and a password. The Android app does not offer Sign in with Apple.
Both apps use the same account service and the same server.
The account uses Firebase Authentication, a Google service. Firebase holds your email address, a user ID, the sign-in provider and your ID there (Google, or Apple on iPhone and iPad), sign-in details such as when you created the account and last signed in, and, for an email sign-up, a hash of your password. Firebase also sends the verification email. We never see your password.
Our server at fixmytok.app checks the Firebase sign-in token that the app sends with each request. It keeps one record per account: the Firebase user ID, your email address from the token, the shared ID of your installation (Section 5.4), whether you want the newsletter, the consent text and its time (Section 5.10), your language, and the date you created the account. On Android, that ID is the app’s own install ID. It does not store the token or your password. It also counts your requests in the current hour for each shared ID, to limit abuse.
Sign-up bonus. A FixMyTok account with a verified email address that has joined the newsletter receives 100 free cleanup actions, once. The bonus is paid once per person, not once per app or per installation. The server records it under your shared ID, as it does for a promo code (Section 5.5), and these actions never lapse. We may change this offer for accounts made later. To pay the bonus only once, even if you delete your account and sign up again, the server keeps one-way fingerprints (Section 10). A reinstall on Android creates a new install ID. If you sign in to the same account afterwards, the server answers that the bonus was already paid and pays nothing more.
5.10 The newsletter
The newsletter is optional, and it works the same way in the iPhone and iPad app and in the Android app. When you turn it on, the app sends our server the exact text it showed you and the time you agreed, and the server stores both. Once your email address is verified, the server sends the address and that text to HubSpot, the service we use to send the emails. We do not send an unverified address to HubSpot, because anyone can type someone else’s address into a sign-up form.
The emails carry FixMyTok news, such as feature updates and events. HubSpot records whether each email was opened and which links were clicked, and we use that only to see how the emails perform. Every email contains an unsubscribe link. You can also turn the newsletter off in your account in the app, and the server then marks your address as unsubscribed in HubSpot. The website’s closed sign-up form used the same service (Section 2).
5.11 The post bonus
A signed-in account with a verified email address can earn 2,000 free cleanup actions for a TikTok video about FixMyTok, once a month. It is optional, and the app contacts our server only when you submit a video. This is the one case in which the app tells our server about a TikTok account.
When you submit a video, the app sends our server the video link you pasted, the username of a TikTok account that you connected in the app, and the shared ID of your installation (Section 5.4), together with your Firebase sign-in token. Our server then asks TikTok’s public oEmbed service about that video. If the link is a short link, the server follows it, on TikTok’s own hosts only, to find the video. The request to TikTok carries the video’s address, not your username, your shared ID, or your email address. TikTok answers with the video’s caption and the name of the account that posted it. The server checks that the caption mentions @fixmytok and carries #fixmytok, and that the poster is the username the app sent. It does not keep the caption.
If the check passes, the server pays the bonus. It records a promo record under your shared ID (Section 5.5), and a post-claim record: the numeric ID of the video, the TikTok username, your shared ID, and the month. It does not keep the link. A video can be paid once, ever, and each shared ID and each TikTok username can be paid once in a calendar month (UTC). If the check fails, or TikTok cannot be read, the server stores no claim, and you can try again. We do not take the actions back if you delete the video later. The server counts your requests in the current hour for each shared ID, to limit abuse.
5.12 Refund requests (iPhone and iPad)
You can ask Apple for a refund of a FixMyTok purchase. When you do, Apple sends a request for information about that purchase, and we have 12 hours to answer. RevenueCat answers for us, from the purchase records it already holds. The Android app does not do this. If you never ask Apple for a refund, nothing is sent.
The answer holds only this:
- that you agreed to the sharing described here;
- that the purchase was delivered and works;
- that you could try the app free before you bought, through the free weekly allowance;
- our preference on the outcome, which may be that Apple declines the refund.
RevenueCat may add summary figures from the purchase records it holds, such as your total time in the app and the total value of your purchases and refunds. It sends no TikTok handle, video, cookie, or other TikTok content. Apple handles the answer under its own privacy practices.
We do this so that Apple can see how the purchase was used, and so that a refund asked for after you used the app is judged on those facts. Apple alone decides every refund request. Our preference is one input and does not bind Apple.
We share this on the basis of your consent. You give it by buying after you read the notice on the purchase screen. The consent is not a condition of using the app, because the free weekly allowance works without a purchase. You can refuse it, or withdraw it, at any time, before or after you buy. Email [email protected] with your shared ID (Section 5.4), and we stop sharing details of your purchases from then on. Refusing or withdrawing costs you nothing. It does not change your access to Premium and does not change your right to ask Apple for a refund. It does not undo an answer that Apple already received.
5.13 Refund record (Android)
Google Play decides every refund, and the app cannot block one. So the Android app keeps a record of refunds on your device. A refunded Play subscription, as RevenueCat reports it, counts as one strike. A Lifetime purchase that disappears from your entitlement counts as one strike too. A refund that we grant by hand counts as well.
The record holds the number of strikes, the time of the latest strike, the transaction IDs it has already counted, and whether you hold Lifetime. It stays in the app’s private storage. Clearing the app’s data clears it.
The record has two effects on that device. After one strike, the Lifetime discount link stops working. After two strikes, new purchases pause for 30 days after the latest strike. Restore Purchases still works. Email [email protected] and ask us to reopen purchases.
The app also sends the strike count to RevenueCat as a customer attribute named refund_strikes, so that we can see it in our RevenueCat dashboard. It is a number only. It holds no name, email, or TikTok content.
The Android purchase screen tells you that, if you ask Google Play for a refund, we share details of your purchase with Google and may ask it to decline. Google alone decides every refund request.
We keep this record to limit repeated refunds after use. Our basis is legitimate interest (Section 7).
6. Important data we do not send in the described analytics
Based on the current app implementation described above, the usage event properties do not contain TikTok handles, TikTok video IDs, captions, TikTok cookies, or advertising identifiers. Apart from the post bonus in Section 5.11, the app sends nothing about your TikTok library, your videos, or your TikTok account to our server, to our analytics server, to RevenueCat, or to Firebase. We do not describe the local TikTok library as “never using the network,” because the app must communicate with TikTok to provide its functions.
Nothing in this section changes information that TikTok itself receives when its pages and authenticated session are used, information RevenueCat receives for purchase reporting, the refund-request details in Section 5.12, the refund record in Section 5.13, or the shared ID, promo-code, account, and newsletter data described in Sections 5.4, 5.5, 5.9, 5.10, and 5.11.
7. Purposes and legal bases
Where the LGPD, GDPR, UK GDPR, or a comparable law requires a legal basis, we rely on the following bases to the extent applicable:
| Processing | Purpose | Brazil (LGPD) | EEA/UK |
|---|---|---|---|
| TikTok session and app-requested account operations | Provide the function you requested | Performance of a contract / procedures relating to a contract (LGPD Art. 7(V)) | Performance of a contract (GDPR/UK GDPR Art. 6(1)(b)) |
| Local indexing/catalogue and related device processing | Provide search or cleanup functionality | Performance of a contract (Art. 7(V)) | Performance of a contract (Art. 6(1)(b)) |
| Purchase verification/reporting, and the shared ID that links your purchase across FixMyTok and FindMyTok | Provide paid entitlement, restore purchases, prevent purchase abuse | Contract (Art. 7(V)); legitimate interests where necessary (Art. 7(IX)); legal obligation where applicable | Contract (Art. 6(1)(b)); legitimate interests where necessary (Art. 6(1)(f)); legal obligation where applicable |
| Answering Apple’s refund requests with details of the purchase (iPhone and iPad) | Let Apple judge a refund request on how the purchase was used, and protect us against refunds asked for after use | Consent (Art. 7(I)), given by buying after the notice on the purchase screen | Consent (Art. 6(1)(a)), given by buying after the notice on the purchase screen |
| The refund record and the purchase pause (Android) | Limit repeated refunds after use, and the discount offers that go with them | Legitimate interests (Art. 7(IX)) | Legitimate interests (Art. 6(1)(f)) |
| Promo codes and promo balance | Redeem a code, enforce one use per person, restore your balance, limit guessing | Contract (Art. 7(V)); legitimate interests for abuse limits (Art. 7(IX)) | Contract (Art. 6(1)(b)); legitimate interests for abuse limits (Art. 6(1)(f)) |
| Support form and support email | Answer your request | Contract / procedures relating to a contract (Art. 7(V)); legitimate interests (Art. 7(IX)) | Contract (Art. 6(1)(b)); legitimate interests (Art. 6(1)(f)) |
| The optional FixMyTok account: sign-in, email verification, and the account record on our server | Let you sign in and keep your account and settings | Contract (Art. 7(V)) | Contract (Art. 6(1)(b)) |
| Post bonus: the video link you submit, your TikTok username, the shared ID, and the post-claim record | Check the video, pay the bonus once a month, and limit abuse | Contract (Art. 7(V)); legitimate interests for abuse limits (Art. 7(IX)) | Contract (Art. 6(1)(b)); legitimate interests for abuse limits (Art. 6(1)(f)) |
| Sign-up bonus, and the one-way fingerprints that stop it being paid twice | Pay the bonus to the account that earned it, and only once | Contract (Art. 7(V)); legitimate interests for abuse limits (Art. 7(IX)) | Contract (Art. 6(1)(b)); legitimate interests for abuse limits (Art. 6(1)(f)) |
| Newsletter emails, from the app’s account or the website’s closed form | Send the FixMyTok news they asked for | Consent (Art. 7(I)) | Consent (Art. 6(1)(a)) |
| Firebase notifications, in-app messages, and Android analytics | Send the notification categories you turned on, and show in-app messages only to the people who asked for them | Consent (Art. 7(I)), given by turning a category on | Consent (Art. 6(1)(a)), given by turning a category on |
| Google Analytics on the website | Understand aggregate website usage | Consent (Art. 7(I)), given in the analytics notice | Consent (Art. 6(1)(a)), given in the analytics notice |
| Anonymous usage events in the app, sent to our own analytics server | Understand aggregate product usage and improve the app | Legitimate interests (Art. 7(IX)) | Legitimate interests (Art. 6(1)(f)) |
| Security and abuse prevention | Protect the app, users, and transactions | Legitimate interests (Art. 7(IX)), subject to applicable balancing and rights | Legitimate interests (Art. 6(1)(f)), subject to balancing and rights |
If we rely on consent, you may withdraw it prospectively without affecting processing already lawfully carried out. If we rely on legitimate interests, you may have a right to object depending on the jurisdiction and circumstances.
8. Who receives data
The current product architecture involves these recipients or independent services:
- TikTok / ByteDance: receives traffic through the TikTok login and authenticated session and carries out TikTok-side actions. Our server also asks TikTok’s public oEmbed service about a video you submit for the post bonus (Section 5.11).
- Apple: handles App Store payment, StoreKit transactions, operating-system permissions, and Apple services/frameworks on iPhone and iPad under Apple’s own terms and privacy practices. When you ask it for a refund, it also receives the purchase details in Section 5.12.
- RevenueCat: receives the purchase and restore information required for that reporting, under RevenueCat’s terms of service. It identifies you by an anonymous ID (Section 5.3) and is configured with no integrations or webhooks. On iPhone and iPad, it holds no customer attributes and also answers Apple’s refund-request questions for us (Section 5.12). On Android, it holds one customer attribute, the refund count (Section 5.13).
- Our analytics server at
data.rafacst.me: run by us. It receives only the anonymous events and technical fields described in Section 5.2. - Cloudflare: hosts the website and our server functions, and holds the database for offer codes, promo codes, post claims, and accounts (Sections 5.5, 5.9 and 5.11). It processes the IP address of each request. It may also run the Turnstile bot check on the support form.
- Resend: delivers the messages from the website’s support form to our support inbox. It receives what you type in that form.
- HubSpot: stores the newsletter contacts, from the app’s accounts and from the website’s closed sign-up form, and sends the emails described in Sections 2 and 5.10, under HubSpot’s Data Processing Agreement. It receives your email address and, from the app, the consent text you saw, plus the technical information any web request carries.
- Google, for the website: provides Google Analytics and Google Tag Manager, and only after you accept the analytics notice (Section 2).
- Google, for the apps: on Android, Google Play handles payment through Google Play Billing, answers the update check, and delivers notifications through Google Play services. On both platforms, Firebase processes the data in Section 5.8, and for accounts Firebase Authentication processes the data in Section 5.9, under Firebase’s data processing terms and Google’s own privacy practices.
Apart from those recipients, no other processor receives data derived from your use of the app or the website. The iPhone and iPad app itself sends data only to TikTok, Apple, RevenueCat, Google (Firebase), and our servers at fixmytok.app and data.rafacst.me. The Android app itself sends data only to TikTok, Google (Google Play and Firebase), RevenueCat, and our servers at fixmytok.app and data.rafacst.me. We cannot link the usage events to you, your device, or your TikTok account. We can link the records in Sections 5.5, 5.9 and 5.11 to your shared ID.
We do not sell personal information and, on the supplied facts, do not disclose personal information for cross-context behavioral advertising.
9. International transfers
Apple, RevenueCat, TikTok, Cloudflare, Resend, and Google may process data outside the country where you use the app or the website.
We do not rely on an adequacy decision for those flows. Where a transfer mechanism is required, it is the standard contractual clauses incorporated into each provider’s own data-processing terms, including RevenueCat’s terms of service, Apple’s applicable terms, and Google’s Firebase data processing terms:
Brazil: the standard contractual clauses (cláusulas-padrão contratuais) under LGPD Arts. 33-36 and ANPD Resolution CD/ANPD No. 19/2024.
EEA: the European Commission’s standard contractual clauses under GDPR Art. 46(2)(c).
United Kingdom: the UK International Data Transfer Addendum to those clauses, or the UK IDTA.
HubSpot, which stores the newsletter contacts, may process them in the United States and in other countries where HubSpot, its affiliates, or its sub-processors operate. HubSpot’s Data Processing Agreement incorporates the European Commission’s standard contractual clauses and the UK Addendum to them.
10. Retention and deletion
We apply the following product-specific rules:
- Disconnecting a TikTok account removes that account’s sign-in, catalogue, and cleanup history from the device and does not alter the TikTok account itself.
- The local catalogue, covers, cleanup plans, and history remain on the device until removed through the product behavior described above or other device/app deletion mechanisms; no fixed local retention period has been established in the supplied record.
- The usage events sit on our own analytics server (Section 5.2). We cannot delete the events of one person, because they are anonymous.
- RevenueCat purchase/reporting data is retained as needed to support purchase/restoration reporting and according to RevenueCat’s applicable retention and legal obligations.
- On Android, the refund record (Section 5.13) stays in the app’s private storage until you uninstall the app or clear its data. The refund count that RevenueCat holds follows the retention rule in the bullet above.
- On iPhone and iPad, the shared ID stays in the iOS Keychain until you remove it. iOS can keep a Keychain item after you delete the app, and iCloud Keychain can keep a copy on your other devices. On Android, the shared ID is deleted when you uninstall the app.
- On Android, uninstalling the app deletes its private storage, which holds the catalogue, history, counters, and settings. It does not delete your FixMyTok account, which our server holds (How to delete your account). Android’s backup service is off for the app, so no copy remains in your Google account.
- Google keeps the Firebase installation ID, the registration token, the topic subscriptions, and, on Android, analytics events after you opted in, under Google’s Firebase terms and the settings of our Firebase project. Turning a category off unsubscribes its topic. We cannot look up or delete the data of one person from the topic subscriptions, because we keep no list of tokens.
- Promo-code records (redemptions, spent count, and the country and city saved with a redemption) are kept while the code system is in use, so a reinstall can restore your balance. Ask [email protected] to delete the records under your ID. If you hold the sign-up bonus, we keep that one record, for the reason in the bullet that begins “After you delete your account.”
- Post-claim records (Section 5.11): the video ID, the TikTok username, the shared ID, and the month of each paid claim are kept while we offer the post bonus, so that a video is not paid twice and a username is paid once a month. We keep no link and no caption. Ask [email protected] to delete the records under your shared ID. We keep the video ID itself, so that the video cannot be paid a second time.
- Your FixMyTok account lasts until you delete it, on iPhone, iPad or Android. Deleting it in the app, on either platform, removes your account record on our server, your HubSpot contact, and your Firebase Authentication account (How to delete your account).
- After you delete your account, we keep three things. First, the promo records under your shared ID (Section 5.5): the redemptions, including the sign-up bonus and any post bonus, and the highest count of actions spent. They hold no email address. Second, the post-claim records (Section 5.11): the ID of each video that was paid, the TikTok username it was paid to, your shared ID, and the month. They hold no email address either. Third, one-way fingerprints of your email address and of your Apple or Google ID. A fingerprint is a code made with a secret key that only we hold, so nobody can read an address from it, and nobody without the key can test for one. It can still show that an address was used before, so the law may treat it as personal data. We keep all three for one reason: so that a bonus is not paid a second time. The sign-up bonus must not be paid again to someone who deletes an account and signs up again, and a post bonus must not be paid again for the same video, or to the same TikTok username in the same month. We keep them for as long as we offer the bonuses. To object, write to [email protected].
- Support messages, from the website form or from email, stay in our support inbox for as long as we need them to answer you and handle any follow-up.
- Google Analytics website data is retained according to the Google Analytics property configuration and Google’s applicable retention controls; we do not use it to build TikTok-user profiles.
- Newsletter contacts are kept until you delete your account or ask us to delete them. After an unsubscribe, the address stays marked as unsubscribed in HubSpot so that no further email reaches it. Deleting your account, or asking [email protected], deletes the contact completely.
We may retain information longer where required to comply with law, resolve disputes, or establish legal claims, but only if such retention actually applies to data we hold.
How to delete your account
This section covers the optional FixMyTok account on iPhone, iPad and Android. It does not change anything on TikTok. Uninstalling the app does not delete your account.
In the app (iPhone, iPad and Android). Open Settings > Account > Delete account and confirm. The path is the same on all three. The app may ask you to sign in again first, so that nobody else can delete your account from an unlocked phone. Deleting the account:
- removes your account record from our server;
- permanently deletes your contact in HubSpot, with your newsletter consent;
- deletes your Firebase Authentication account (your email address, user ID, provider IDs, and sign-in details).
If you cannot sign in, or you have uninstalled the app. Email [email protected] from the address on the account and ask us to delete it. We may ask you to prove that the address is yours. We then delete the same three things.
What we keep. After deletion we keep three things, for one reason: so that a bonus is not paid a second time. They are the promo records under your shared ID and the post-claim records of Section 5.11 (video ID, TikTok username, shared ID, and month), which hold no email address, and one-way fingerprints of your email address and of your Apple or Google ID. Section 10 gives the details and how to object.
TikTok deletion
When you confirm a Delete action, FixMyTok instructs TikTok through your authenticated session to delete the selected TikTok posts. FixMyTok cannot restore a deleted TikTok and cannot undo a completed deletion job. Recovery, if any, depends on TikTok, which currently describes a Recently deleted folder that keeps a deleted post for up to 30 days. This is not a data-retention feature of FixMyTok and we do not keep a recoverable server copy of deleted TikTok content.
11. Your controls
You can control data and permissions in several ways:
- disconnect the TikTok account using the app’s in-app Disconnect control, which disables the app’s use of that connected TikTok session;
- disconnect a FixMyTok account, which removes that account’s sign-in, catalogue, and history from the device;
- turn any notification category off in Settings > Notifications inside the app, which unsubscribes its topic and, once every category is off, switches Android analytics and in-app messages off;
- decline or withdraw Google Analytics on the website at any time, through the analytics control in the site footer;
- delete your FixMyTok account in the app, in Settings > Account (How to delete your account);
- unsubscribe from FixMyTok emails with the link in any of them, turn the newsletter off in your account in the app, or ask [email protected] to delete your newsletter contact;
- ask [email protected] to delete the promo-code and post-claim records held under your shared ID;
- refuse or withdraw the sharing of purchase details with Apple for a refund request, by emailing [email protected] (Section 5.12);
- on Android, ask [email protected] to reopen purchases that the refund record has paused (Section 5.13);
- edit or delete the diagnostics footer before you send a support email;
- on iPhone and iPad, revoke Photos access in iOS Settings (the app asks only to add images); Android needs no photo permission;
- manage or cancel a renewable subscription through Apple’s subscription-management interface (iPhone and iPad) or Google Play’s (Android);
- revoke notification permission in the iOS or Android settings where applicable;
- uninstall the app to remove app-local data, subject to normal operating-system behavior.
Removing app-local data does not delete content or an account held by TikTok unless you separately instruct TikTok to perform such an action.
12. Brazil - LGPD rights
If the LGPD applies to your personal data, you may have rights including confirmation of processing, access, correction, anonymization/blocking/deletion of unnecessary, excessive or unlawfully processed data, portability subject to regulation, information about sharing, information about consequences of refusing consent, consent withdrawal, deletion of data processed on consent subject to legal exceptions, and objection to unlawful processing. You may also petition the ANPD and other competent consumer authorities.
Requests: [email protected].
Some app data is stored only on your device and is not readable from our servers. In that case, we may direct you to the applicable in-app/device control because we cannot retrieve data we do not possess.
13. EEA and UK rights
If the GDPR or UK GDPR applies, you may have rights to access, rectify, erase, restrict processing, object, receive portable data, withdraw consent, and lodge a complaint with your local supervisory authority. Rights depend on the legal basis and circumstances.
EEA representative under GDPR Art. 27: We do not currently appoint a representative in the EEA. We have assessed that the exception in Article 27(2)(a) applies to our relevant processing because it is occasional, does not involve large-scale processing of special-category or criminal-offence data, and is unlikely to result in a risk to the rights and freedoms of natural persons. We will reassess this position if the nature, scale, regularity, or risk of the processing changes.
UK representative: We do not currently appoint a UK representative. We have assessed that the corresponding UK GDPR exception for occasional, low-risk processing applies. We will reassess this position if the nature, scale, regularity, or risk of the processing changes.
14. California privacy
On the supplied facts, we do not sell personal information and do not “share” personal information for cross-context behavioral advertising as those terms are used in the CCPA/CPRA.
If we are a “business” subject to the CCPA/CPRA, California residents may have applicable rights to know/access, delete, correct, and opt out of sale/sharing, and the right not to receive discriminatory treatment for exercising covered rights. Because the applicability thresholds depend on facts not established in the product record, this section does not represent that we currently meet the statutory definition of a CCPA “business.”
Request channel: [email protected].
15. Children and teenagers
FixMyTok is not intended for use by anyone under 18 years of age. By using the app, you confirm that you are at least 18.
An existing TikTok account is not treated by us as proof of age. If we learn that a person under 18 has used the app in circumstances that require action under applicable law, we will take reasonable steps appropriate to the data we actually control. Because a FixMyTok account is optional, we may not be able to identify a particular device user unless that person has an account or contacts us.
16. Security
We use the architecture described in this Policy to reduce data exposure, including device-local storage for the TikTok library and not collecting TikTok passwords into an app-owned credential system. If you create an account with an email address and a password, Firebase Authentication stores a hash of that password and we never receive it; it is separate from your TikTok sign-in, which stays on TikTok’s own login page. No method of storage or transmission is completely secure.
17. Third-party services and TikTok independence
FixMyTok is an independent app and is not affiliated with, endorsed by, sponsored by, or connected to TikTok or ByteDance. TikTok, Apple, Google, RevenueCat, and other third-party services apply their own terms and privacy notices to processing they independently control.
This Policy does not state that TikTok has authorized FixMyTok’s integration method. The Terms of Service separately explain the platform dependency, the user’s responsibilities, and the risk that TikTok may change, restrict, or discontinue relevant functionality.
18. Changes to this Policy
We may revise this Policy as the app, law, or vendor configuration changes. We will post the revised version with an updated “Last updated” date and provide additional notice where required.
19. Contact and legal identity
Privacy requests and support: [email protected]
Controller / publisher: R Castro Silva Consultoria em Tecnologia LTDA, trading as Rafacst Consultoria, registered in Brazil under CNPJ 66.424.919/0001-10
Business address: Rua Guaicurus 635, Apt. 202, Tower A, Água Branca, São Paulo, SP, 05033-001, Brazil
This company operates the app worldwide, subject to mandatory local consumer and data-protection law where applicable.
20. Language
The English and Brazilian Portuguese versions are intended to impose equivalent privacy commitments. If a discrepancy arises, the text must be interpreted consistently with the mandatory consumer and data-protection rights that apply to the user.