Legal
Privacy
The short version: this website collects nothing, and each app is built so there is as little as technically possible to collect.
Last updated 25 August 2026
This website
neatcodelabs.com is a set of static files. It sets no cookies, runs no analytics, and loads nothing from a third-party host — the fonts, images and stylesheets all come from this domain.
There is exactly one piece of JavaScript, /theme.js, and it does one thing:
the light/dark switch in the header. If you use it, your choice is saved in your browser's
own local storage under the key theme, so the site looks the same on your next
visit. That value never leaves your device, is not a cookie, is not sent with any request,
and identifies nothing — clearing your browser data removes it, and if you never touch the
switch, nothing is stored at all and the site simply follows your operating system.
Cloudflare Web Analytics was previously enabled on this site and injected a tracking script into every page. It was removed on 25 August 2026.
The site is hosted on Cloudflare Pages. Serving a page necessarily means Cloudflare sees the request — your IP address, the URL, your user agent — and it processes that as our hosting provider under its own privacy policy. We do not have access to per-visitor logs, do not run any server-side code, and do not build any profile of visitors.
The contact form
The contact form posts to Web3Forms, which turns the submission into an e-mail and delivers it to us. It is used so that no e-mail address of ours appears in the page source for scrapers to harvest.
It fires only when you press Send — nothing is contacted when the page merely loads. Submitting passes the name, e-mail address, message and IP address you sent to Web3Forms, and then to us as e-mail. We use the address to reply and for nothing else: it goes on no list, and is shared with nobody.
Web3Forms' own retention terms are theirs, and are set out in their privacy policy rather than ours. If you would rather not involve a third party at all, open an issue on the relevant GitHub repository instead — that reaches us just as well.
TabGreater
TabGreater has no account, no backend and no analytics. Your phone connects directly to the exchanges' own public APIs; nothing is proxied through a server of ours, because there is no server of ours.
TabGreater is documented on its own site, and its full privacy policy lives there: tabgreater.com/privacy.
FixupXer
FixupXer processes URLs entirely on your device. The app declares no Android permissions and makes no network requests of its own. It collects no personal information, no usage statistics, no analytics, no device information, no location and no identifiers of any kind.
What is stored, and where
All of it is local to your device, and none of it is uploaded or synchronised by the app:
- Preferences — cleaning and conversion choices, selected embed or reader frontends, Browser Mode settings and action order, remembered after-clean destinations (host to app choice only), layout and history settings. Stored in Android's SharedPreferences.
- Conversion history — optional, on by default, and clearable at any time: the original URL, the cleaned URL, a timestamp and the kind of change made. Stored in a local database.
- Custom URL rules — optional: names, domains, patterns, replacements, templates, test URLs, ordering and local rollback snapshots.
When the Private Link Guard spots sensitive data in a link you enter — a token, an e-mail address, precise coordinates — the original URL is never written to history. If cleaning removes all of it, only the safe result is kept, marked "Input redacted for privacy". If any of it survives cleaning, nothing is saved at all.
Depending on your device and Google account settings, Android may include the preferences file in its own OS-managed cloud backup or device-to-device transfer. The local database — history, custom rules and rollback snapshots — is excluded from Android's automatic backup.
Files you export yourself
Rule bundles and settings backups are written only when you pick a destination through Android's own file picker. They can contain private domains, patterns or test URLs that you entered, so store and share them carefully. FixupXer never uploads them.
What happens after processing
Link conversions are plain text replacements — the app rewrites the address and never contacts the frontend itself. When you then choose to open or share the result, Android hands the URL to the browser, app or share target you selected, and any network request happens there, under that recipient's privacy policy. Copying places the URL on the Android clipboard. Tapping a "How to Use" link opens documentation on GitHub in your browser.
The canonical, always-current text is PRIVACY_POLICY.md in the app's repository, alongside the source that implements it.
FixupXer Telegram Bot
This is the one project that is not purely on-device, so it deserves the plainest description on this page.
- When the bot is added to a group, Telegram delivers the group's text messages to it so it can find links. To see every message rather than only commands, it needs admin rights — that is a Telegram requirement, not a choice the bot makes.
- When it changes a link, it posts a replacement message and deletes the original. The replacement credits the original poster by name.
-
It keeps a local statistics database on the machine it runs on, readable
through an admin-only command. The operator can switch this off entirely with the
FIXUPXER_DISABLE_STATSsetting. - To make Instagram and TikTok links preview correctly it contacts the candidate proxy hosts to check which are healthy. Those hosts are third parties and are named in the project's README.
- Captions, polls and edited messages are ignored, and at most three links per message are processed.
The bot is MIT-licensed and its whole source is public, so anyone can read exactly what it stores. If you would rather not have a third party in the loop at all, host your own instance — that is what the Docker setup in the repository is for, and it is the only way to be certain who operates the machine your group's messages reach.
Internet Connectivity Checker
The checker stores nothing and has no configuration file. It works by requesting
https://www.google.com roughly every five seconds and changing its tray icon
depending on whether that request succeeds.
That means Google sees a request from your IP address every few seconds while the tool is running, exactly as it would if you had that page open. Nothing is sent to us — we run no server for this — but this is worth knowing before you leave it running, and the address is a single constant near the top of the script if you would rather point it somewhere else.
Children
None of these apps are directed at children under 13, and none of them collect the kind of data that would make that question interesting. They are intended for users aged 13 and over.
Changes to this policy
When an app changes what it stores, this page changes with it, and the date at the top moves. Because each app's canonical policy lives beside its source, the repository's commit history is a full, public record of every change — including this one.
Questions
Anything unclear or wrong on this page is worth telling us about: use the contact form, or open an issue on the relevant GitHub repository.