Privacy Policy
Last updated: July 16, 2026
Feji ("we", "us", or "our") provides a grocery-list application and related website (together, the "Service"). This policy explains what information we process when you use the Service, why, and what control you have over it.
Feji is available in the United States and Canada only, and is operated from California, United States. Feji is the party responsible for the personal information described in this policy, and you can reach us through our contact page.
1. Information We Collect
- Account information — your name, email address, and profile image URL, as provided by Sign in with Apple or Google Sign-In, along with the account identifier those services issue.
- Grocery content you create — list names, items, quantities, notes, prices you enter, store assignments, checked status, and your completed shopping-trip history, including trip totals.
- Product barcodes you scan. The barcode number is sent to our service for product lookup.
- Recipe searches. Text you type when searching recipes, and ingredient names you search by, are sent to our service and passed to our recipe data provider.
- Notification tokens. If you enable notifications, your device's push token is stored on your account so we can deliver them.
- Technical information — app version, platform, the date you were last active, and diagnostic details when a crash or error occurs.
- Website messages. If you use our contact form, the name, email address, and message you submit are sent to our email provider.
Feji does not ask for or collect bank credentials, financial-account information, payment-card numbers, contacts, or receipt photos. Prices and trip totals are figures you type in yourself to track grocery spending; they are not drawn from any bank, card, or payment account.
We collect this information directly from you, and from Apple or Google when you choose to sign in with them.
2. How We Use Information
- Authenticate your account and protect access to your data.
- Store and synchronize grocery lists across your signed-in devices.
- Organize items by aisle, maintain shopping history, and generate repeat-purchase suggestions.
- Look up product details for a barcode you scan, and recipes you search for.
- Share lists with people you invite, and show you lists others have invited you to.
- Send notifications you have asked to receive.
- Diagnose crashes and errors, prevent abuse, and keep the Service secure and working.
We rely on your consent for optional features — camera, location, and notifications — each of which you can decline or turn off at any time in your device settings without losing access to the rest of the Service. Everything else we do with your information is necessary to provide the Service you have asked us for, or to keep it secure. We do not use your information for advertising, and we do not make automated decisions about you that produce legal or similarly significant effects.
3. Sharing Lists With Other People
Shared lists are off by default. If you choose to use them, information about you becomes visible to the other people on that list:
- If you join someone's list, that list's owner can see your name and your email address, along with your role on the list.
- If you own a list and create an invite link, anyone holding that link can see your name and the list's name before they join. Your email address is never shown to them.
- Everyone on a shared list can see the list's contents — its items, stores, prices, and history.
Invite links are single-use and expire after 14 days. You can remove a member at any time, or leave a list you joined; either way, the removed person's details are cleared from the list. If you delete your account, your name and email are removed from every list you had joined.
4. Camera Access
Camera access is optional and used only when you open the barcode scanner. Feji reads supported barcode values from the live camera view on your device. Camera images and video are never uploaded or stored by Feji.
5. Location Access
Location access (while using the app) is optional and used only to suggest nearby grocery stores when you add a store. Your approximate position sets the map search region on your device, and store suggestions come from Apple Maps. Feji's servers never receive or store your location, and the app does not track your location in the background. If you decline location access, store suggestions still work without the nearby bias.
6. Storage, Security, and Where Your Data Is Held
Account and grocery data are stored using Firebase and Google Cloud infrastructure. The app communicates with authenticated Feji endpoints over encrypted connections, and access to shared lists is checked on our servers rather than trusted to the app. Offline copies cached on your device are stored with file protection enabled.
Feji is operated from the United States, and your information is stored and processed on servers in the United States. If you are in Canada, this means your information is held outside Canada and may be accessible to United States courts, law enforcement, and government authorities under United States law. By using the Service you understand that your information will be handled in the United States.
No service can promise perfect security, but we limit what we collect, keep server-side checks on access, and scrub personal information out of our diagnostic reporting.
7. Third-Party Services
- Firebase and Google Cloud — authentication, server-side data storage, and abuse prevention.
- Google Sign-In and Sign in with Apple — account authentication.
- Firebase Cloud Messaging and Apple Push Notification service — delivering notifications you enable.
- Apple Maps — nearby-store suggestions. Your search text and, if you allow location, your approximate position are processed by Apple to return store names.
- Open Food Facts — barcode product information. Only the barcode number is sent from our servers. Product images are loaded by your device directly from Open Food Facts, which means your device's IP address is visible to them when an image loads.
- TheMealDB — recipe information. Your recipe search text and ingredient names are sent from our servers, without your name, email, or account identifier. Recipe images are loaded by your device directly from TheMealDB, which means your device's IP address is visible to them when an image loads.
- Sentry — crash and error diagnostics, hosted in the United States. Reports include your account identifier so we can recognize repeat failures, but we configure them to exclude your email address, IP address, location, search text, and grocery-list content.
- EmailJS — delivering messages submitted through our website contact form.
- Vercel — website and API hosting.
We do not sell your personal information, we do not share it for cross-context behavioral advertising, and we do not disclose it to third parties for their own direct marketing purposes. If you are a California resident, this paragraph is our response under California's "Shine the Light" law (Civil Code § 1798.83).
8. Do Not Track and Cross-Site Tracking
Feji does not track you over time or across third-party websites or apps. We use no advertising networks and no analytics services. Because we do not perform the tracking that "Do Not Track" is designed to stop, we do not respond differently to Do Not Track browser signals.
We do not permit third parties to collect personally identifiable information about your online activities over time and across different websites through the Service. The third parties listed above receive only what is described there, for the purpose described there.
9. How Long We Keep Information
- Account and grocery data — kept while your account is active, and removed when you delete your account.
- Shopping-trip history — only a limited number of your most recent trips per list is kept. As you complete new trips, the oldest are removed automatically and permanently.
- Invite links — expire 14 days after creation, and are removed when the list is deleted or its last member is removed.
- Product and recipe lookups — cached for up to 30 days to reduce outbound requests. These caches are not linked to your account, and recipe searches are stored under a one-way hash rather than the text you typed.
- Diagnostic reports — retained by our diagnostics provider for a limited period under their retention schedule, then deleted.
- Administrative records — where an administrator changes an account's status, we keep a record of that action for security and accountability. These records identify accounts by account identifier only, not by name or email.
10. Deleting Your Account
You may permanently delete your account from Settings in the app. We ask you to sign in again first, so that nobody else can delete your account from an unattended device.
Deletion removes your account record, your grocery lists, your shopping history, your notification tokens, your sign-in account, and your name and email address from any lists you had joined. It also revokes any invite links you had created.
Two things persist afterward: backup copies held by our infrastructure provider, which expire on their own schedule, and the administrative records described above, which identify you only by account identifier. Deletion is permanent and we cannot recover a deleted account.
11. Your Privacy Rights
Wherever you live, you can:
- Access and take a copy of your information — Settings includes a data export that returns your profile, your lists, their items, stores, and trips, and the lists you have joined, in a portable JSON file.
- Correct your information — you can edit your display name and all of your grocery content directly in the app.
- Delete your information — see "Deleting Your Account" above.
- Withdraw consent for camera, location, or notifications at any time in your device settings.
- Ask us questions or complain about how we handle your information, through our contact page.
If you would rather make any of these requests in writing instead of using the in-app controls, contact us and we will handle it. We will not charge you or degrade your experience for exercising these rights.
12. Additional Information for Canadian Users
We handle personal information in accordance with Canada's Personal Information Protection and Electronic Documents Act and applicable provincial privacy legislation, including Quebec's Law 25.
The person responsible for protecting personal information at Feji — our Privacy Officer under Quebec's Law 25 — can be reached through our contact page.
As described above, your information is stored in the United States. If we become aware of a privacy breach that creates a real risk of significant harm, we will notify you and the appropriate regulator — the Office of the Privacy Commissioner of Canada, and the Commission d'accès à l'information du Québec for Quebec residents — as the law requires, and keep a record of the breach.
If you are not satisfied with our response to a privacy concern, you may complain to the Office of the Privacy Commissioner of Canada at priv.gc.ca, or, if you live in Quebec, to the Commission d'accès à l'information du Québec at cai.gouv.qc.ca.
This policy and our Terms are currently provided in English only.
13. Children's Privacy
Feji is not directed to children under 13, and we do not knowingly collect personal information from children under 13. If you believe a child under 13 has given us personal information, contact us and we will delete it.
14. Changes to This Policy
We may update this policy as the Service changes. When we do, we will revise the date at the top of this page. If a change materially affects how we handle information we have already collected from you, we will tell you in the app, or by email, before it takes effect. The current version is always posted here.
15. Contact
Questions, privacy requests, and complaints can be submitted through our contact page.