Privacy

AntiSlop privacy policy

What the app processes, why, where it is stored, for how long, and how you stay in control of it.

Version 1.3 · effective 12 October 2026 · replaces version 1.1 of 29 September 2026

1. Who is responsible

The controller for AntiSlop is Delic Innovation ENK (Lazar Delic), a sole proprietorship in Øygarden, Norway.

Norway is in the EEA, so the General Data Protection Regulation (GDPR) and the Norwegian Personal Data Act apply. You can complain to the Norwegian Data Protection Authority, Datatilsynet (datatilsynet.no).

2. In short

  • We use your data only to provide AntiSlop to you. We never sell it and never use it for advertising.
  • Allergies, intolerances, skin allergens, religious diets and the fasting calendar are saved only after your explicit yes. You can withdraw it at any time, and then they are deleted.
  • The app has no ads, no third-party analytics SDKs and no tracking across apps and websites. Anonymous usage statistics are sent only if you say yes.
  • Barcodes and label text are read on your phone. Photos are uploaded only if you choose to send them.
  • Account data is stored with Supabase in the EU (Ireland).
  • You can download your data and delete your account from the app at any time.

3. What we process and why

Account and sign-in

You can sign in with email and password, a one-time code sent by email, Apple or Google. We store your email address, an optional name, an account ID and which sign-in method you use. Passwords are stored only as a cryptographic hash. If you sign in with Apple or Google, we receive an identifier and the email address they share with us. With Apple this may be a private relay address.

Two-step sign-in with a code by SMS is not switched on today, so we do not ask for your phone number. If we switch it on, we will store the phone number of those who choose it and send the codes through an SMS provider that we will name here, and we will tell you in the app before it is used.

After your account is made, the app asks you to confirm that you are 13 or older and to accept the terms of use and this policy. We store when you confirmed and which versions you accepted. See section 12.

Legal basis: contract – we need this to give you an account (Art. 6(1)(b)). Two-factor and account security: our legitimate interest in keeping accounts safe (Art. 6(1)(f)). The record of your age confirmation and accepted versions: to be able to show what you agreed to (Art. 7(1)).

Profile photo

You can choose a profile photo. It is re-encoded, its metadata is removed on our server, and it is stored privately. Before others in your household see a new profile photo, Sightengine (Kozelo SAS, Paris, France) checks it automatically for nudity, gore, offensive symbols or gestures and self-harm. Sightengine receives only the photo itself, not your name or your account.

Legal basis: contract for the profile photo itself (Art. 6(1)(b)). The photo check: our legitimate interest in protecting household members from offensive images (Art. 6(1)(f)).

Allergies, religious diets and fasting (special categories)

You can add rules for yourself and for household members you add. Some of them say something about health or belief, so they are special categories of personal data (GDPR Art. 9):

  • allergies and intolerances, including lactose-free
  • skin allergens, such as fragrance allergens
  • religious diets, such as halal and kosher
  • the Serbian Orthodox fasting calendar

We save these rules only after your explicit yes. The app shows a consent step before you add the first one. The statement you agree to is:

“I agree that AntiSlop saves these details to add notes for me and my household.”

We store your answer on our server with the time and the version of the consent text (now “2026-10-10”). If you choose such a rule in the tour the first time you open the app, your answer waits on the phone until you have an account, and is sent then.

We use these rules only to add notes to products, recipes and plans. They never change a score and are never used for advertising. People in your household see the household’s rules. Without a yes, AntiSlop cannot warn about allergies or follow the fasting calendar, but everything else works.

Withdrawing: go to Me → Privacy policy → Your choices. This deletes these rules on your own profile and on household members without their own account that you added. Other adults’ own profiles are theirs. Withdrawing does not affect processing before you withdrew.

Children and others you add: if you add a child, you do so as their parent or guardian, and your consent covers the rules you enter for them. If you add another person without an account, you are responsible for being allowed to enter information about them.

Rules saved before the consent step existed: if you saved such rules before we started asking, the app asks you the next time you open it: “Yes, keep them”, “No, delete them” or “Ask me later”. Until you answer, AntiSlop keeps using them as before. If we change this, we will tell you in the app.

Vegetarian, vegan and pescatarian diets, things to avoid and dislikes are not treated as special categories. They are stored as part of the service.

Legal basis: your explicit consent (Art. 9(2)(a) and Art. 6(1)(a)). Other food rules: contract (Art. 6(1)(b)). The record of your consent: Art. 7(1).

Household, plans and lists

Your household (name, members and roles), invitations, meal plans, recipes you save or create, cooking progress, shopping lists and pantry. Everyone in the household sees the shared plan, pantry, shopping list and each person’s rules. An invitation is an eight-character code that expires.

Legal basis: contract (Art. 6(1)(b)).

Checks, watchlist and search

When you check a product we store the barcode and the time. This powers your history. We also store your watchlist and change alerts for products and apps you follow.

Product search words go to our server and to open product databases such as Open Food Facts, without your account ID, and are not stored with your account.

Legal basis: contract (Art. 6(1)(b)).

Push notifications

The app asks for permission to send notifications the first time you follow a product or app, never when the app starts. If you say yes, we store this phone’s push token in our database. When a product or app you follow changes, we send a short notification that names it. It travels through Expo’s push service and then Apple (APNs) or Google (Firebase Cloud Messaging) to your phone, so they handle the token and that text. Changes older than 3 days are not sent as push notifications.

The token is deleted when you sign out, when Expo reports that the phone is no longer registered, and when you delete your account. You can turn notifications off in the phone’s settings.

The scan reminder is something else: a local notification set on your phone after you say yes. Nothing about it is sent to us, and you can turn reminders off in Me → Preferences.

Legal basis: contract (Art. 6(1)(b)).

Label photo contributions

If a product is missing its ingredient list or nutrition table, you can photograph the label. The text is read on your phone by Google ML Kit, an on-device model. No AI service receives the photo, and scores come from published rules, not from AI. While it runs, ML Kit sends Google technical data such as the phone model, app version, speed and a per-install number, but never the photo or the text (see Google’s disclosure).

After you have checked the text and chosen to send it, we upload a re-encoded copy of the photo and the confirmed text to private storage. The contribution is checked automatically against the barcode and the rules, and by a person whenever something is unclear, before it can change product data or a score. Accepted text only fills in fields that are missing, and stays in the catalogue.

Legal basis: our legitimate interest in correcting missing product data (Art. 6(1)(f)). Sending is always your choice.

Reports about wrong or illegal content

On product results you can report information that is wrong, illegal, offensive or shows private details. We store your account ID, the reason you choose and any details you write, so we can follow it up. Resend sends a notice to our support inbox with the text of the report, but not who you are.

Legal basis: our legitimate interest in correcting mistakes and removing illegal content (Art. 6(1)(f)).

App check

If you ask us to analyse an app that has not been checked yet, we store the request (which app) on your account. When you search for an app, the words you type go without your account to Firecrawl (USA) and Apple’s iTunes Search API to find it.

Our server fetches public store pages, privacy labels and privacy policies, partly through Firecrawl, and sends the public text of app policies to Anthropic’s Claude model (USA) to point out what changed. Nothing about you is sent with them. App check does not read which apps are on your phone; it looks up the apps you choose.

Legal basis: contract (Art. 6(1)(b)).

Anonymous usage statistics (only with your yes)

The app asks once whether you want to share anonymous counts, such as “a check worked” or “a step was skipped”. If you say no or do not answer, nothing is stored or sent. If you say yes, the app makes a random install number for statistics only and sends the events with it: the event name, a few fixed values, platform, app version and language. They are sent without your sign-in and never contain your account ID, email, barcodes, product names, searches or anything you type.

Legal basis: consent (Art. 6(1)(a), and the Norwegian Electronic Communications Act § 3-15 for storage on the phone). Change your answer under Me → Privacy policy → Your choices. Turning it off deletes what this phone sent. Storage: in AntiSlop’s own database with Supabase in the EU, for 12 months.

Crash reports

Crash reports from the app are off today. If we turn them on, a crash sends Sentry (Functional Software Inc., USA) the error type, where in the app’s code it happened, the app version and the phone’s system. Never your account, email, barcodes, searches or anything you type, and Sentry is set not to store IP addresses. Reports are deleted after at most 90 days.

Our server functions report errors to Sentry with only the function name, the error code and the error type, without personal data.

Legal basis: our legitimate interest in fixing faults (Art. 6(1)(f)).

Subscriptions

Purchases go through the App Store or Google Play. We never receive your card details. RevenueCat relays purchases to us, linked to your account ID, so Premium can be unlocked and restored. We store subscription status and purchase events. Refunds and the right of withdrawal are handled by Apple or Google, which sell the subscription.

Legal basis: contract (Art. 6(1)(b)).

Beta tester sign-up on the website

If you sign up as a beta tester on antislop.no, we store your email address, which phone you use (iPhone, Android or both), your first name if you give it, the page language, when you consented, and whether you have been invited. To stop abuse we count attempts over one hour. For that we store a one-way hash of the email address and the IP address, deleted after one day.

We use this only to invite you to the beta and ask for feedback, never for newsletters or advertising. When we invite you, we add your email address to TestFlight (Apple) or the Google Play test track (Google), which send the invitation itself.

Legal basis: consent (Art. 6(1)(a)). You can unsubscribe at any time by writing to support@antislop.no. Counting attempts: our legitimate interest in stopping abuse (Art. 6(1)(f)).

Support and corrections

If you write to us, or send a correction to a product, we use what you send to answer you and fix the mistake. Email to support@antislop.no and privacy@antislop.no is forwarded by ImprovMX.

Legal basis: legitimate interest (Art. 6(1)(f)).

Operations and security

To prevent abuse we count requests per account in short time windows. Our hosting provider records technical information such as IP address and time in server logs. Changes made by administrators are logged.

Legal basis: our legitimate interest in keeping the service secure and available (Art. 6(1)(f)).

4. Legal bases at a glance

Why we may process data (GDPR)
WhatBasis
Account, checks, watchlist, push alerts, household, plans, lists and subscriptionContract, Art. 6(1)(b)
Allergies, intolerances, skin allergens, religious diets and the fasting calendarExplicit consent, Art. 9(2)(a)
Anonymous usage statisticsConsent, Art. 6(1)(a) and the Electronic Communications Act § 3-15
Beta tester sign-upConsent, Art. 6(1)(a)
Record of consents, the 13+ confirmation and accepted versionsTo be able to show what you agreed to, Art. 7(1)
Security, abuse prevention, the profile photo check, crash and error reports, label contributions, content reports and answering youLegitimate interests, Art. 6(1)(f)

Where we rely on legitimate interests, you can object (see section 10).

5. Access on your phone

  • Camera: to read barcodes and, when you choose, photograph labels. Barcodes are read on the phone; the camera image is never uploaded.
  • Photos: the app only opens a photo you pick yourself (profile photo or label contribution).
  • Notifications: the app asks for permission the first time you follow a product or app, or when you say yes to the scan reminder.
  • Storage on the phone: your sign-in is kept encrypted in the phone’s secure storage. Recent checks, settings and contributions waiting for a connection are stored locally in the app. A random statistics number is stored only if you said yes to usage statistics.

The app does not ask for the microphone, location or contacts.

6. What we do not collect

  • No location, contacts or advertising ID.
  • No third-party advertising or analytics SDKs, and no tracking across apps and websites.
  • No crash reports from the app today (see section 3).
  • No sale of personal data.

7. Who processes data for us

These providers process personal data on our behalf (processors). We must have a written data processing agreement with each of them. For most of them the agreement is part of the terms we accepted when we opened the account. For Expo and Sentry it needs a separate step, and for Google Workspace a confirmation in the Admin console, which are not done yet. ImprovMX offers no agreement on the free plan we use. The table shows the status of each on 12 October 2026, as each provider's own pages describe it.

Processors
ProviderWhat forLocationTransfer basisWritten agreement status
Supabase (Supabase Inc.)Database, sign-in, file storage and server functionsData in the EU (Ireland); company in the USAStorage in the EU. Access from the USA: EU–US Data Privacy Framework if certified, otherwise EU standard contractual clausesPart of Supabase's terms, which we accepted when we opened the account (version 1, 1 Aug 2026)
ResendSign-in emails; notices of content reports to our support inbox (the report text, not who sent it)USAEU–US Data Privacy Framework if certified, otherwise EU standard contractual clausesPart of Resend's terms, which we accepted when we opened the account
RevenueCatRelays subscription purchases from the App Store and Google Play, linked to your account IDUSAEU–US Data Privacy Framework if certified, otherwise EU standard contractual clausesPart of RevenueCat's terms, which we accepted when we opened the account
Expo (650 Industries)App updates (EAS Update) and push notificationsUSAEU–US Data Privacy Framework if certified, otherwise EU standard contractual clausesNot signed yet: Expo offers it on request
Sightengine (Kozelo SAS)Checks new profile photos for nudity, gore, offensive symbols or gestures and self-harm; receives the photo onlyFrance (EU)No transfer outside the EEAPart of Sightengine's terms, which we accepted when we opened the account
Sentry (Functional Software Inc.)Crash reports from the app (off today) and error reports from server functions without personal dataUSAEU–US Data Privacy Framework if certified, otherwise EU standard contractual clausesNot signed yet: entered in a separate step
VercelHosts the antislop.no website (technical logs)USAEU–US Data Privacy Framework if certified, otherwise EU standard contractual clausesPart of Vercel's terms, which we accepted when we opened the account
ImprovMXForwards email to support@ and privacy@antislop.no to Google WorkspaceIncoming mail: France (AWS Paris), deleted once delivered. Forwarding: servers in France and the USATo the USA: EU standard contractual clauses in ImprovMX's data processing agreement (ImprovMX is not certified under the Data Privacy Framework)No agreement: ImprovMX offers it only on paid plans, and we use the free plan
Google Workspace (Google Cloud EMEA Limited, Ireland)The mailbox where email to support@ and privacy@antislop.no is read and answeredCompany in Ireland (EU); email may be processed where Google has data centres, including the USATo the USA: EU–US Data Privacy Framework (Google LLC is certified); otherwise EU standard contractual clauses in Google's data processing termsPart of the Google Workspace terms (Cloud Data Processing Addendum); confirming it in the Admin console is not done yet

Sources, read 12 October 2026: supabase.com/legal/dpa, resend.com/legal/dpa, revenuecat.com/dpa, expo.dev/trust, sightengine.com/policies/terms, sentry.io/legal/dpa, vercel.com/legal/dpa, improvmx.com/gdpr-compliance, cloud.google.com/terms/google-entity, cloud.google.com/terms/data-processing-addendum, cloud.google.com/terms/alternative-transfer-solution.

Others who receive data

  • Apple and Google act as independent controllers when you sign in with them, when you buy a subscription in their stores, and when they deliver push notifications (APNs and Firebase Cloud Messaging). Their own privacy policies apply.
  • Google ML Kit runs on your phone. Google receives technical data about the device and app, but never the photo or the text (see section 3).
  • Firecrawl and Anthropic (USA) receive only public text about apps, and the words you type when you search for an app (Firecrawl), without your account.
  • Apple (iTunes Search API) and Open Food Facts receive search words without your account.
  • Product and app images load directly from their sources, such as Open Food Facts, retailers’ image services and the App Store or Google Play. Those services see your IP address, as any website does.
  • Your household sees what you share: the plan, pantry, shopping list, each person’s rules and your profile photo. If someone in the household pays for a family plan, members see their name and whether the plan covers them, and the person who pays sees how many places are used.
  • We may have to disclose data when the law requires it.

Product data from Open Food Facts and Open Beauty Facts (ODbL), Matvaretabellen (NLOD 2.0) and product information that shops, wholesalers and producers publish, and app data from the stores and Exodus Privacy, is about products and apps, not about you.

8. Transfers outside the EEA

Your account is stored in the EU. Some providers are based in the USA. Transfers to them rely on the EU–US Data Privacy Framework where the provider is certified under it, otherwise on the EU standard contractual clauses. We do not state here that any particular provider is certified. Write to privacy@antislop.no if you want a copy of the basis for a transfer.

9. How long we keep data

Retention
DataKept for
Account, profiles and food rules, household, plans, lists, pantry, watchlist, subscription status, record of consents and accepted termsUntil you remove it or delete your account
Check history on the server (barcode and time)30 days
Change alerts90 days
Push tokenUntil you sign out, Expo reports the phone unregistered, or you delete your account
Anonymous usage statistics (only with your yes)12 months; deleted at once if you turn them off
Label photos12 months after the contribution is accepted or rejected, or 12 months after upload if it is never decided. Accepted text stays in the catalogue
Content reportsOpen reports until they are handled; then 12 months. Also deleted when you delete your account
Corrections and support requestsAnonymised 12 months after they are resolved
Subscription and billing events24 months
Log of changes made by administrators24 months
Hashed proof that an account was deleted36 months
Abuse-prevention counters2 days
Crash reports (if turned on)At most 90 days
Beta tester sign-upUntil the beta ends on 30 November 2026, or sooner if you ask. The hashes that count attempts: one day
Server logs at our hosting providers (IP address, time)Supabase: 7 days (API and database logs on the Pro plan). Vercel: 1 hour on the Hobby plan, 1 day on the Pro plan
BackupsSupabase makes a backup every day and keeps it for 7 days (Pro plan). Deleted data is gone from the backups after 7 days at most
Data stored on your phoneUntil you clear the app’s data or uninstall it

10. Your rights

You have the right to access, rectify and erase your data, to restrict processing, to data portability, and to object to processing based on legitimate interests. Where we rely on consent, you can withdraw it at any time without affecting processing before you withdrew it.

You can do most of this yourself in the app (see the next section). Otherwise write to privacy@antislop.no. We reply within one month.

You can complain to Datatilsynet (datatilsynet.no). We would appreciate hearing from you first.

11. Export and deletion

Export: in the app, go to Me → Your information → Export data. You get a machine-readable file with your account, profiles and food rules, your consents, household, checks, watchlist and alerts, subscription, recipes, plans, shopping lists, contributions, App check requests, corrections, reports and support requests.

Deletion: go to Me → Your information → Delete account. We delete your sign-in, every related row on the server, your profile photo, your label photos and your customer record at RevenueCat. If you used Sign in with Apple, we revoke it. A household you own and share with others stays with the member who joined first (an editor before a view-only member), with the people added without an account and their rules, the pantry, plans, lists and your recipes. A household with nobody else in it is deleted. Corrections and support requests you sent are anonymised. Only an anonymous, hashed proof of erasure without email or barcodes remains.

You can also read how to delete your account, including without the app.

Deleting your account does not cancel a subscription. Cancel it in the App Store or Google Play.

12. Children and age

You must be 13 or older to have an account (Norwegian Personal Data Act § 5). After your account is made, the app asks you to confirm your age and accept the terms and this policy. We store when you confirmed and which versions you accepted. When either text changes, the app asks again.

If you are under 13, you cannot keep an account. The app then offers to delete the account or sign out, and you can use AntiSlop without an account.

If you add a child to your household, you do so as their parent or guardian: the child gets no account, only a name and the rules you enter, and your consent covers the allergies or fasting rules you add for them.

13. Security

All traffic is encrypted. The database uses row-level access rules, so you only see your own data and your household’s. Profile and label photos are kept in private storage. Your sign-in on the phone is kept in the phone’s secure storage.

14. The antislop.no website

The website uses no cookies and no analytics or tracking tools. If you press the light or dark theme button, your choice is remembered in the browser’s local storage (antislop-theme), only because you asked for it. You can clear it in your browser. The website is hosted by Vercel, which processes IP address, time and the page address in technical logs to deliver the pages. The beta tester sign-up is described in section 3.

15. What AntiSlop is not

AntiSlop scores products and apps from declared evidence and published rules. It is not a medical device, not a diagnosis and not personal health advice. If you have an allergy, always read the label yourself.

16. Changes

If this policy or the terms change in a way that matters to you, the app asks you to read the new version before you go on, and we store which version you accepted. This is version 1.3 of 10 October 2026.

New in 1.3: consent before we save allergies, religious diets and the fasting calendar; a record of the 13+ confirmation and accepted versions; push notifications; the profile photo check; content reports; the status of data processing agreements; retention for each kind of data.