Privacy policy

Effective October 12, 2026 · Plastfri is operated by Soxoa LLC (“we”, “us”)

TL;DR

Label scanning and listed-composition scoring happen on your device. Plastfri has no accounts, ads, or tracking. Google Play services may receive basic on-device text-recognition diagnostics from the Android app, never label photos or text. If you deliberately submit a public product for research, we store that submission to score it for the shared database. Optional extension lookups send a retailer name, public catalog ID, and public listing title.

The iPhone and iPad app

Camera and photo-label text recognition uses Apple's on-device Vision framework. Plastfri does not upload or save the image. The composition text and score are calculated on your device. Items you choose to save remain in the app's local database, and you can delete them from Settings.

Product research is an explicit cloud action. When you tap “Score this product,” the public product URL or name and optional description you entered are sent to plastfri.com. The submission is stored in our research queue and may become a public scored-product page. Do not submit private, confidential, or personal text. Contact hello@plastfri.com to request a correction or deletion.

Submitted product text and resulting research records are retained while they are needed to operate, audit, correct, and publish the shared product database. Public scored records may remain available until removed or superseded; failed or unpublished records may be deleted during routine maintenance. You can request deletion at the address above.

The app stores onboarding status, your score threshold, and optional local reminder setting on your device. Weekly reminders are scheduled locally after you opt in. The app downloads the public Plastfri product catalog but does not send your local saved list.

Plastfri Pro subscriptions are purchased through Apple. Apple processes payment and provides the app with a verified entitlement. We do not receive your card number or create a billing profile.

The Android app

Label scanning and scoring happen on your device. Camera frames and photos you pick are read with Google's on-device ML Kit text recognition. Plastfri does not upload or save the image, and label text stays on your device unless you deliberately include it in a research submission. Google Play services may receive basic ML Kit usage diagnostics, such as the feature used, latency, error codes, app package, and app version. These diagnostics never include photos or label text. Google's handling of this data is covered by its privacy policy.

Product research is an explicit cloud action. When you tap “Send for research,” the product link or name and any description you added are sent to plastfri.com, stored in our research queue, and may become a public product page. A link shared from another app only fills in the form; nothing is sent until you confirm. While you view a request, the app sends its request number to check its status. The retention and deletion terms described for product research above apply equally to Android.

The app downloads the public product catalog and keeps an offline copy. Like any web request, this reaches our hosting provider with your IP address, as described in the website section below. Saved scans, your research request list, score threshold, and weekly-reminder setting stay in private storage on your device. They are excluded from Android cloud backups and device-to-device transfers. Delete saved scans and research requests in Settings, or uninstall the app to remove its local data.

Camera permission is optional and used only while scanning labels. Notifications are used only for the weekly reminder, which is scheduled locally after you turn it on. The Android app has no purchases, accounts, ads, advertising ID, analytics SDKs, or crash reporters. The Google diagnostics described above are the exception to on-device processing.

The Safari browser extension

The Plastfri extension scores products for plastic content by reading product titles and fiber-composition text on the shopping pages you visit. Page reading and deterministic scoring happen locally, inside your browser, using a materials dictionary that ships with the extension. The optional database lookup described next is the exception.

Score-database lookups (optional, on by default). To return researched scores for products whose listings don't state their materials, the extension can check products against our database of researched compositions. Each uncached lookup sends the retailer, the product's public catalog ID (for example an Amazon ASIN), and the public listing title. It does not send the full page body, page URL, search query, browser account, or Plastfri account identifier. As with any web request, our hosting provider receives ordinary request metadata such as IP address. Product IDs we haven't seen before, together with their public title, may be queued so our research pipeline can score them for everyone. Turn lookups off in the extension settings and Plastfri makes no Plastfri API requests while you shop — scoring stays on your device.

Chrome on-device AI estimates (optional, off by default). On supported Chrome versions, estimates use Chrome's built-in model on your own computer. Plastfri does not transmit those prompts or results. This feature is unavailable in Safari.

The extension stores your treatment mode, threshold, per-site disable list, and personal allow/always-flag overrides in browser-managed extension storage. Chrome may sync those settings through your Chrome profile when browser sync is enabled. Safari may synchronize those settings across your signed-in Apple devices using its WebExtension storage.sync area. These preferences are not sent to Plastfri.

The extension also keeps device-local performance caches: public product IDs and returned scores (successful entries are refreshed after 24 hours and misses after two hours), plus hashed-title on-device AI results refreshed after seven days. Each cache is capped at 3,000 entries and older entries are pruned as it fills. Clearing the extension's stored data removes them.

Permissions, explained

Access to websites (host permissions) — required so the extension can read product listings on whichever shop you visit and draw score badges on the page. Page reading happens locally; when database lookups are on, only the lookup fields described above are sent.

activeTab — lets the popup show scan statistics for the tab you are on and offer a per-site on/off toggle.

scripting — used only when you turn on the optional “Everywhere” mode, to run the same local scoring on shopping sites beyond the built-in list. Everywhere mode is off by default; enabling it asks for your permission first, and turning it off removes that permission again.

storage — saves your settings, as described above.

The website (plastfri.com)

The website requires no account, sets no advertising or analytics cookies, and contains no third-party trackers. Product submissions and extension lookups use our API and database as described above. For abuse prevention, the API converts the requesting IP address into a secret-keyed token that changes each day. The token is used only for daily rate limits, is not attached to the product submission, and cannot be joined across days. Tokens older than 30 days are purged as rate-limit requests are processed. Our hosting provider, Cloudflare, Inc., may keep standard, short-lived server logs including IP address and requested URL for security and operations.

To research a queued product, our research worker reads the public product page and sends that page's text, together with the product name or description that was submitted, to an AI model provider through OpenRouter, which extracts the materials the page states. The score itself is calculated by our own code. We only use providers that do not store or train on this data. Nothing about the person who submitted the product is sent.

What we don't do

We do not sell personal data, build advertising profiles, track you across apps or websites, or use submissions to train AI models. We do not upload label photos or your local saved history. Subscription revenue pays for the app; your data is not the product.

Children

Plastfri is not directed to children under 13. We do not knowingly collect personal information from children. If you believe a child submitted personal information, contact us so we can remove it.

Changes to this policy

If Plastfri changes what it collects or how it uses submissions, we will update this policy and its effective date before or when that change ships.

Contact

Soxoa LLC · hello@plastfri.com