Privacy Policy
Meta Link Clearer (Package ID: com.mapio.metalinkclearer)
This policy applies to the Android app "Meta Link Clearer" (the "App") and the Chrome extension "Threads Clean Link" (the "Extension"), and explains how each handles data when you use it. Our design principle is simple: whatever can be done on your device, stays on your device — we only process the data needed for optional features, such as sign-in and cloud sync, when you choose to use them. The list below is a factual description of what the App and the Extension actually do — nothing hidden, nothing overstated.
What We Collect
Sign-in and cloud sync are optional — we only collect the minimum needed to provide them.
If you choose to sign in with a Google account in the App or the Extension, we collect your email address, name, and profile picture URL. Once cloud sync is enabled, we store the link data you share (original/cleaned link, post author, content excerpt, and share timestamp). Login sessions also record IP address and browser information, used solely for security purposes such as detecting suspicious sign-ins. Neither the App nor the Extension shows ads, includes analytics or tracking SDKs, or shares your data with any third party — Google is used only as a sign-in provider. You can use the App or the Extension without signing in: when signed out, all cleaning history stays on your device (or your browser) only and is never uploaded.
Once you sign in to the App and enable cloud sync, the App generates a random device identifier on its own (not the system Android ID or IDFA — it changes if you reinstall the App), and sends a device model name (e.g. Pixel 8, iPhone 15 Pro, which you can rename) along with it when syncing. This is used solely so you can see which devices are currently syncing in your "Synced Devices" list, and so cleaning history records can be labelled with the device they came from; no device identifier is uploaded while signed out. You can remove a device in the App — it then disappears from the list, while the device name already shown on existing records is unaffected — and both the device identifier and its name are deleted when you delete your account. This matches the device identifier disclosed in the Browser Extension section below; both share the same backend and the same device list.
How the App Works
- When you share a link into the App, or paste one, the App parses the URL entirely on your device and strips tracking parameters (e.g.
xmt,igsh,igsi,fbclid,rdid,mibextid,utm_*). This happens locally and is never transmitted to any server. - For Threads and Facebook
/share/short links, the App makes anonymous HTTP requests to follow the redirect and obtain the actual destination URL. The post previews shown on history cards (author and excerpt) come from the same kind of anonymous request, using the post page's public preview information (OGP). These requests carry no cookies and no identity or login information, and no log of your requests is kept. Resolution results are cached locally on your device for 7 days, so the same short code is never requested twice. - Once cleaning finishes, depending on your settings: by default the App opens the system share sheet so you can pass the clean URL on; with "background processing" enabled, the clean URL is written to your device's system clipboard instead, so you can paste it elsewhere.
- Sign-in and sync: if you choose to sign in with a Google account, the App uses Google's official OAuth flow to obtain your email address, name, and profile picture URL. Once signed in, the cleaning history you create in the App is synced to our server (Cloudflare D1) over a connection encrypted end-to-end with HTTPS, so you can retrieve it after switching devices or reinstalling the App.
Clipboard Use
The App writes to your clipboard only after a cleaning action finishes, using the cleaned result, and reads clipboard content only when you actively use the clean-from-clipboard feature. It does not read or monitor other clipboard content in the background.
Data Retention
When signed out, cleaning history, post previews, and the short-link resolution cache are stored using local on-device storage only (React Native AsyncStorage), kept solely on your own phone or tablet. They are never synced, backed up, or uploaded to any cloud or server.
Once you sign in and enable cloud sync, the link data described above, along with your device identifier and device model name, is also stored in Cloudflare D1 (a server-side database), and all data in transit is encrypted with HTTPS. You can use "Clear History" in the App at any time: this clears the cleaning history on this device, and any other signed-in device removes its own copy the next time it syncs (the matching cloud records are removed via delete markers, not merely hidden). You can also remove a single device from the device list (it no longer appears in the list, while its identifier and name are retained so existing records can still show where they came from).
To clear everything stored in the cloud at once, choose "Delete Cloud Data" from the account menu in the App or the browser extension: this deletes your cloud cleaning history, warning list, and synced device list, and signs out every signed-in device (App and Extension alike). Existing local records on each device are not affected and remain in place: they show again once you sign in, and are re-uploaded at the next sync to rebuild the cloud data. This does not delete your account; to delete device data together with your account, see "Delete Account" below.
Uninstalling the App removes only the local records on that device and does not affect data already synced to the cloud unless you also delete your account.
Third-Party Services
The App does not use any third-party analytics, advertising, or crash-reporting services, and does not embed any other third-party SDK for data collection. Google is used only as an identity provider for sign-in; we do not share, sell, or otherwise provide your personal data or link data to any third party other than Google. The anonymous requests described above — used to resolve /share/ short-link redirects and fetch posts' public preview information — do not themselves collect or retain any information beyond the response needed to complete them.
Browser Extension (Threads Clean Link)
The Chrome extension "Threads Clean Link" (Extension ID: hehokicokbgajpanjcajhmflaennnmdj) shares this same privacy policy with the App. This section covers behavior specific to the Extension.
By default, the Extension is fully offline: when you are not signed in with a Google account, all link cleaning happens entirely in your browser, and no data is sent anywhere.
Cloud sync is enabled only after you sign in with a Google account. It syncs the same kind of data as the App, to the same account and the same backend (Cloudflare D1): cleaning history (original/cleaned URLs, removed tracking parameters, post author and content excerpt, and timestamps) and basic account identity (email, name, and profile picture URL).
Once you sign in and enable sync, a randomly generated device identifier and a user-editable device name (which may default to the device model or browser name) are also synced, so each record can be labelled with the device it came from. The identifier is generated on the device itself and contains no hardware serial number, IP address or location, and is never linked across accounts. After a device is removed, existing records keep showing its original name.
If you enable the “LINE group solicitation warning” feature and sign in to sync, your warning list is also synced to the cloud. It contains the platform identifier and a handle and display-name snapshot of each flagged account, the flag state (active or dismissed), the source and time of the flag, and the post links, their post times and the rule signals used as evidence. No post text excerpts are included; detection always runs on your device. Turning the feature off stops syncing and keeps the list on your device only. The list is for your own cross-device use and is never shared with other users or published. Deleting cloud data from the account menu in the Extension or the App removes the cleaning history, warning list, and synced device list from our servers, and signs out every signed-in device (App and Extension alike); existing local data on each device is not affected and remains in place; other devices re-upload their local data at their next sync or after signing in again, rebuilding the cloud copy — this does not delete your account. The warning list is permanently deleted along with your account when you delete it. The free plan caps the number of cloud-synced entries; when the cap is exceeded the earliest-synced entries are removed automatically, and remain on the device that created them.
Cloud sync exists solely to sync your cleaning history across devices: the Extension shows no ads, includes no analytics or tracking SDKs, and does not download or execute any remote code.
Unlike the App, this Extension does not read existing clipboard content — it has no "clean from clipboard" feature; it only writes the cleaned result to the clipboard when needed after a cleaning action finishes.
Sign-in credentials are stored in the Extension's own browser storage (extension storage) and are accessible only to this Extension; signing out revokes and clears them.
To remove your cloud data, you can sign out, clear history in the App or the Extension, or permanently delete your account and cloud data via the Delete Account section below.
The Extension's source code is public at github.com/hunandy14/threads-clean-link.
Delete Account
If you signed in with a Google account and used cloud sync in the App "Meta Link Clearer / 淨化Meta連結" (Package ID: com.mapio.metalinkclearer) or in the browser extension "Threads Clean Link", you can permanently delete your account and cloud data as follows. Since the App and the Extension share the same account and backend, deleting your account from either one removes the cloud data synced from both.
In-app deletion steps:
- Open the App and go to Settings
- Tap the ⋮ icon on the right side of the account card (Manage Account)
- Tap Delete Account
- Confirm the deletion
If you cannot use the App (for example, after uninstalling it, or if you only use the browser extension), you can instead request deletion by email at info@metalinkclearer.com; we will process your request after verifying your identity.
What gets deleted: once your account is deleted, your cloud link data, your synced device list (including device identifiers and device names), and the account itself (including the linked Google identity and login sessions) are permanently and irreversibly deleted. Existing local history on your device or browser is not affected and remains in place; if you sign in again later with the same Google account in the App or the Extension, your local history will be re-uploaded and new cloud data will be created.
Children's Privacy
The App is not directed at children. Signing in and using cloud sync require identity verification through a Google account, and we do not knowingly collect personal data from children. When used signed out, the App does not collect personal data from any user, so the same minimal-data standard applies regardless of age.
Changes to This Policy
If this policy changes, we will update the "Effective date" at the top of this page and, where the change is significant, note it in the App or on the release notes. Please check back periodically.
Contact Us
Questions about this policy, how the App handles data, or account deletion can be sent to the developer, mapio, at: info@metalinkclearer.com