Harvest Protocol is a game about writing Python. It is not a business built on knowing who you are. This page says exactly what the mobile app sends, when it sends it, and how to stop it.
Last updated
This policy covers the Harvest Protocol mobile app for iOS and Android, published by Algorex Technologies, and the account API on this website that the app talks to. The last section covers this website itself, which is a different thing with different answers.
The app is complete without an account. Every mission runs on the phone: the Python you write is interpreted there, the farm is simulated there, and your progress, settings and audio preferences are written to storage on the device. In that state the app sends us nothing at all — not a ping, not a page view, not a count of how far you got. Delete the app and all of it goes with it.
Tapping CONNECT opens your system browser on this site, where you sign in. Your password is typed into this website, never into the app, and the app never sees it. The site then hands back a one-time code that is valid for two minutes and can be used once, and the app trades that code for a long-lived token.
That token is the only credential the app holds. It is stored in the iOS Keychain or the Android Keystore — the operating system's own protected store, not a file or a preferences entry that other software on the phone could read. It lasts 60 days and renews itself while you keep playing, so an app you use regularly never has to ask you to sign in again.
Once you are connected, this is the complete list. Not a summary of it, not the highlights: the app makes five requests to this site's API and these are every value those requests carry.
Each of these is checkable rather than reassuring. A permission the app does not declare cannot be granted to it, and a library it does not ship cannot run.
Your email address, phone number or real name
There is no sign-up form in the app. Accounts are created here on the website, and the app is only ever handed the username that comes back.
Your location, at any precision
No location permission is declared on either platform, so neither operating system would grant it even if something asked.
Your contacts, calendar, photos, camera or microphone
None of these permissions is declared either, and the app blocks the Android storage permissions outright.
Device identifiers or advertising identifiers
No IDFA, no Advertising ID, no fingerprint of your hardware. Nothing in the app reads them, and there is no advertising here for them to serve.
The Python you write
Your code runs on the phone and stays there. Only the count of lines is ever sent, and never the lines themselves.
Analytics, advertising or usage tracking
Not anonymised, not aggregated — absent. The app ships no analytics, advertising or attribution library of any kind, and measures nothing about how you play. Crash reporting is the single exception to that sentence, and it gets its own entry below rather than being tucked into this one.
Anything a crash report could carry about you
If crash reporting is switched on for a build, it sends the fault and nothing around it. Attaching personal data is off, as are screenshots, view hierarchies, session heartbeats and every kind of performance or replay sampling. Console, network and request trails are discarded before a report is assembled — which matters here in particular, because the console holds the Python you wrote and the network calls carry your game token.
The app declares exactly one Android permission, and it is the one that lets the music mix correctly with whatever else your phone is playing. It explicitly blocks the external-storage permissions rather than inheriting them.
Finishing a mission on a plane or in a classroom with no signal does not lose it. The result is written to a small database on the phone and sent the next time the app can reach us. That queue holds at most 40 results, discards anything older than seven days, and stores no credential — the token is attached at the moment of sending and never sits in the queue. Disconnecting empties it.
Every request travels over HTTPS to this site's own API, which records it against your account. Nothing is sold. Nothing is handed to advertisers, data brokers or analytics companies, because there is no arrangement with any of them to hand it to.
The only other parties involved are the companies that run the infrastructure underneath: Vercel hosts this site and its API, Clerk handles sign-in and holds your account credentials, and Neon hosts the database your mission record lives in. They process this data in order to run the service, under their own agreements with us, and not for purposes of their own.
Your account and its mission record are kept for as long as the account exists, because they are the account — the record is what the leaderboard and your farm are made of. Beyond that we have not set a fixed deletion window, and this page would rather say so than quote a number nobody enforces. Delete the account and the record goes with it, immediately and without a copy left behind.
Two things do expire on their own: the one-time code that links the app to your account dies two minutes after it is issued, and the app's token expires 60 days after it was last used.
Everything below is something you can do yourself, in the app or on this site. None of it requires asking us first.
Account deletion lives on the account page, under SECURITY. If you would rather we did it for you, or you cannot reach the account, write to the address below and we will.
Harvest Protocol is built to be used in classrooms, so this matters more here than it might elsewhere. The app is playable start to finish with no account, and in that state nothing leaves the device — a class can use it without anyone registering anything. Accounts are created on this website rather than in the app.
We do not knowingly collect personal information from children. If you believe a child has created an account and you would like it removed, write to us and we will delete it.
The site you are reading is not the app, and it answers differently. Signing in sets cookies that keep you signed in; they exist for that and are not used for advertising. Creating an account means giving Clerk an email address and a password, which is the part of this service that genuinely holds personal details.
The site also measures aggregate traffic and page-speed with Vercel's analytics, which is how we know which pages are worth keeping. The mobile app contains no equivalent, and nothing on this site tracks you across other websites.
If the app starts doing something this page does not describe, this page changes first. The date under the title is the date it last changed, and it is the honest way to tell whether what you are reading still matches the app on your phone.
Privacy questions, deletion requests, and corrections to this page all go to one address:
algorexph@gmail.comAlgorex Technologies reads it. Say which account you mean and what you want done with it, and it gets done.