Privacy Policy
Introduction
Arveli is a voice-guided cooking companion that helps you import recipes and cook them with your hands on the food instead of on the screen. This Privacy Policy explains what information we collect, how we use it, who we share it with, and the choices you have.
Arveli is operated by Pariwesh Tamrakar, an Australian business ("we", "us"). Our full contact details are at the end of this policy, and you can reach us any time at support@arveli.app.
By using the app you agree to this policy. If you do not agree, please do not use the app.
Information we collect
We collect only what the app needs to work:
- Account details: your email address, and — if you sign up with an email and password — a password. Your password is handled by our authentication provider and stored only in hashed form; we never see or store it in plain text. If you sign in with Apple or Google instead, there is no password at all: we receive your email address and, where the provider shares it, the name on your account. If you use Sign in with Apple and choose Hide My Email, what we receive is Apple’s private relay address, not your real one.
- Recipes you add: the title, ingredients, steps, servings, the source URL you imported from, and recipe image URLs — a cover image and, when the source page provides them, a photo for individual steps. For recipes that have no publisher image — the ones the app generates from your ingredients, and the ones you import by photographing a recipe — the AI-generated cover photo is created for you and stored on our servers.
- Ingredients you list: when you ask the app to invent a recipe from what you already have, the ingredients you type are sent to our language-model provider (Anthropic) so it can write one. We do not keep that list beyond the recipe it produces.
- Your grocery list: the items you put on it — the name, any amount you gave, and the title of the recipe an item came from — are saved to your account, so the list is there on every device you sign in on. Which aisle an item is filed under is worked out from its name by a fixed list in our own code — that particular step uses no AI and looks nothing up anywhere else. When you tick something off we record the time, so that a tick from an earlier shop stops counting as bought after a week; you can also clear the ticked items yourself whenever you like. Deleting your account deletes the list with it. If you ask for meal ideas, the names of your ticked items are sent to a provider — see "Meal ideas from your grocery list" below.
- Your week plan: the meals you add to your week — for each one, the day and meal slot, the dish’s name and type, how long it takes, and the names of the ingredients it uses — are saved to your account, so the plan is there on every device you sign in on. You can replace or remove any meal on it, and deleting your account deletes the plan with it.
- Ratings: the star rating, optional note, and optional photo of the finished dish that you leave on your recipes. If you add a photo, it is stored on our servers and served from a public URL — so the share sheet can hand that link to another app when you choose to share it, and anyone with the link can open it.
- Voice: short audio clips of what you say while you hold the mic button — or, if you turn on "Listen after Ember speaks", of what the mic hears in the listening window of up to 20 seconds after Ember speaks during a cook — so the app can follow your spoken commands (see "Voice data" below).
- Usage: cook-session records — which recipe you cooked, when, how far you got, and how many seconds of voice you used — to run the app and apply free-tier limits. We also keep a daily count of the recipe searches you run, for the same reason, and a daily count of the recipes you create from your own ingredients or from a photo, to apply the monthly limit on those two features.
- Technical data: when the app talks to our servers, we and our hosting providers receive your device’s IP address, its model, its operating system version, and the version of the app you are running. This is what any server receives from any app; it sits in short-lived server logs and is used to run and secure the service, not to profile you.
- Subscription status: whether you have a free, premium, or lifetime plan, via our payments partner and Apple. We never receive your card or payment-card details.
Trial accounts
When you first start using the app, Arveli creates an anonymous trial account for you, so you can import a recipe and cook it without signing up first. That account is identified by a token stored on your device. It carries no email address and is not linked to your identity until you choose to create an account.
If you do create an account later, the trial is upgraded in place rather than replaced — the recipes, ratings and cooking history from the trial stay with it, and your email address is added to the account you were already using.
If instead you sign in to an account you already have, the trial cannot be merged into it — that account exists separately, with its own identity — so the recipes, ratings and cooking history on the trial stay behind and are not added to the account you sign in to. The app tells you this and asks you to confirm before it happens. The trial itself is not deleted at that moment: it is simply no longer reachable from the app, and the inactivity limit below is what removes it.
You can delete a trial account at any time from Settings → Delete trial, which removes it and everything on it. We also delete trial accounts that go unused. A trial account with no saved recipes is deleted automatically after 30 days without activity; one with saved recipes is deleted after 180 days without activity. Activity means saving a recipe, cooking, or changing your grocery list or week plan. An automatic deletion removes the account and everything on it, exactly as Delete trial does.
Voice data
When you use voice, audio is recorded on your device only while you hold the mic button — or, if you turn on "Listen after Ember speaks" (a Premium setting that stays off unless you turn it on), for the number of seconds you choose, up to 20, right after Ember finishes speaking during a cook. If it hears speech or other sound in that time, it keeps recording until the sound stops, for at most 20 seconds more. A recording from that listening window in which nothing is loud enough to be someone speaking close to the phone never leaves your device. Anything louder is sent just like a held clip, and that includes someone else talking nearby, or a television, not only you. That audio is sent securely to our server, which forwards it to our transcription provider (OpenAI) to turn speech into text, and forwards the resulting text to our language-model provider (Anthropic) to interpret your command. Spoken cues you hear back are generated by OpenAI from recipe text.
Your audio is processed transiently to provide the feature. We do not store your voice recordings on our servers, and we do not build a voice profile of you. We keep only the derived number of voice seconds used, for cost and free-tier limits — never the audio or the transcript. These providers process the data under their API terms, which at the time of writing do not use content sent through the API to train their models; see their privacy policies, and "Where your information goes" below, for details.
Importing and generating recipes
When you import a recipe by URL, our server fetches that web page and sends its content to our language-model provider (Anthropic) to extract the recipe. The website you import from receives a request from our server. If you paste recipe text instead, that text is sent to the same provider to structure it into steps and ingredients.
When you share a TikTok or YouTube link with the app — or paste one — our server reads that post’s public caption instead of fetching a web page: TikTok’s title field, or a YouTube video’s description, together with its title and the creator’s name, is sent to our language-model provider (Anthropic) to turn into steps and ingredients. We never download or process the video or its audio, only the text the creator wrote. The recipe our server produces, together with the video’s own URL, is then saved to your account — the video itself is never stored. Instagram, Facebook and Pinterest do not give an app like ours a way to read a caption, so a share from one of those offers a screenshot of the caption to import instead (the same photo-import path described below), or you can paste the caption text yourself.
You can also import a recipe by photographing a cookbook page or choosing a photo or screenshot from your library. That photo is sent to our language-model provider (Anthropic) so it can read the recipe out of the image and turn it into steps and ingredients. We do not store your photo on our servers: it is processed to create the recipe and then discarded, and only the recipe text we get back is saved to your account. That is different from the optional photo of the finished dish you can add once you finish cooking — that photo is stored on our servers, as described above.
You can also ask the app to invent a recipe from ingredients you already have. The list you type is sent to Anthropic, which writes a recipe from it, and a cover photo is then generated by OpenAI from that recipe’s title and ingredients. The ingredient list itself is not kept beyond the recipe it produced.
Images on imported recipes are not copied to our servers. The app shows them directly from the original publisher’s website or image host, so when you view a recipe that has images, your device requests them from that publisher — which, like any site serving an image, can see your device’s IP address and the standard details every web request carries. This happens only while you are viewing such a recipe. We do not add tracking of our own to those requests. The exception is recipes that have no publisher — the ones the app generates for you from your own ingredients, and the ones you import from a photo: for those, an AI-generated cover photo (created by OpenAI from the recipe title and ingredients — never from anything about you, and never from the photo you submitted) is stored on our servers and deleted with the recipe or your account.
Recipe search
When you search for a recipe inside the app, the words you type are sent to Serper, a search provider in the United States, which returns matching pages from a fixed list of cooking websites. Serper receives your search words and our server’s request; it does not receive your account, your email address, or anything else about you.
We keep a daily count of how many searches you have run, to apply free-tier limits. We do not store the searches themselves.
Questions you ask while cooking
When you ask a question while cooking ("how much oil should I use?", "what can I use instead of butter?"), the transcribed question is sent to our server along with the identifier of the recipe you are cooking. The server looks that recipe up in your own account and sends its title, ingredients and steps, together with your question, to Anthropic so the answer can use the actual amounts in front of you. Ingredient substitutions are answered the same way. We do not store your questions or the answers.
Meal ideas from your grocery list
If you ask for meal ideas, we send the NAMES of the items you have ticked off on your grocery list to our language-model provider (Anthropic), which suggests dishes you could make from them. Only the names go: not the amounts you wrote, not the recipe an item came from, not your saved recipes, your notes, your photos or anything else about your account. We do not keep the list of names beyond the suggestions it produces, and the suggestions themselves are not saved unless you choose to add one to your week or cook it.
Ticks older than a week are not counted as bought, so an old shop is not sent as though it were your current one. If nothing is ticked, nothing is sent at all — we do not ask the provider anything.
A suggestion is only a name and a list of ingredients; it has no method. If you choose to cook one, that is the same "invent a recipe" step described above: the ingredients, and the name of the dish you picked, are sent to Anthropic to write the recipe, and a cover photo is generated by OpenAI from it.
How we use your information
We use the information above to:
- Provide and operate the app — save your recipes, guide you by voice, run cooking timers, and read steps aloud.
- Create and manage your account, and manage your subscription and free-tier limits.
- Keep the service secure, reliable, and working correctly.
What we do not do
We do not sell your personal information. We do not use it for advertising or for building marketing or behavioral profiles. We do not track you across other apps or websites, and the app contains no advertising or analytics software of any kind.
The app does contain a small number of third-party software development kits, and this is the complete list: a crash reporter (Sentry), which sends a technical report when the app hits an unexpected problem; a purchases kit (RevenueCat), which keeps your subscription status in step with the App Store; Sign in with Google, used only if you choose to sign in that way (Sign in with Apple uses Apple’s own system framework); the Expo updates kit, which checks whether a newer version of the app is available when the app starts; and the Supabase client, which talks to our database and manages your sign-in. None of them is an advertising or analytics kit. What each one receives is set out under "Service providers we share data with" below.
Service providers we share data with
We share data with service providers, including the following, only so they can perform their part of the service. Each processes your data under its own privacy terms:
- Supabase — hosts our database and manages sign-in, accounts, and authentication emails. Your account and recipes are stored in the cloud region selected for our project — currently ap-southeast-2 (Sydney, Australia).
- OpenAI — converts your voice to text (speech-to-text), generates the spoken step guidance you hear (text-to-speech), and creates the cover photo for recipes that have no publisher image, whether the app generated them from your ingredients or you imported them from a photo (image generation from recipe text only).
- Anthropic — interprets your voice commands, parses recipes you import, including reading a recipe out of a photo you import, writes a recipe from the ingredients you list, suggests meals from the names of the items you have ticked off on your grocery list, and answers the questions you ask while cooking, including ingredient substitutions.
- TikTok — when you import a recipe from a TikTok link, our server calls TikTok’s public oEmbed endpoint to read that post’s caption, creator name and thumbnail. TikTok receives the video’s URL and our server’s IP address; we send it nothing else.
- YouTube — when you import a recipe from a YouTube link, our server calls the YouTube Data API to read that video’s title and description. YouTube (part of Google) receives the video’s id and our server’s IP address; we send it nothing else.
- Serper — powers in-app recipe search. The words you type into recipe search are sent to Serper, a search provider in the United States, to find recipe pages. We keep only a daily count of your searches, never the searches themselves.
- RevenueCat — manages your subscription; it receives an app-specific account identifier tied to your account, plus your purchase and subscription events.
- Sentry — receives a crash or error report when the app hits an unexpected problem, so we can diagnose and fix it; see "Crash reports" below for exactly what that includes. Sentry stores this data in the EU.
- Apple — delivers the app and processes any subscription payments through the App Store. If you choose Sign in with Apple, Apple is also your identity provider: it authenticates you and tells us your email address, or, if you choose Hide My Email, a private relay address that forwards mail to you without revealing it.
- Google — only if you choose Sign in with Google. Google authenticates you and keeps its own record of that sign-in; we receive your email address and the name Google shares with us. If you never sign in with Google and never import a YouTube link, we send Google nothing about you.
- Resend — delivers our sign-up, email-change and password-reset emails. It receives your email address and the contents of those messages.
- Expo — runs the over-the-air update service (EAS Update) our app checks on startup to see whether a newer version is available. That check tells Expo your device’s IP address, its platform, and the app and runtime versions.
- Fly.io — hosts our server, in Sydney, Australia. Like any host, it sees the IP address of every request your device makes to us.
- Vercel — hosts our website at arveli.app. It keeps short-lived access logs of the pages it serves, containing IP addresses and standard browser details.
- Namecheap — our domain registrar. Its email forwarding currently relays messages sent to our support address, so an email you send us passes through it on the way to us.
Where your information goes (overseas disclosure)
Arveli is operated from Australia, but the providers above are not all in Australia. Using the app means your information may be disclosed to, stored in, or processed in these places:
- The United States — OpenAI, Anthropic, TikTok, YouTube, Serper, RevenueCat, Expo, Vercel, Google and Apple.
- The European Union — Sentry, which stores crash reports in the EU.
- Australia — our own server, hosted by Fly.io in Sydney.
- Supabase — our database and sign-in provider — stores your data in the cloud region selected for our project: ap-southeast-2 (Sydney, Australia).
What those providers may keep
Each provider processes your information under its own terms, which we do not control beyond our choice of provider. Two are worth naming specifically, because the app sends them the most: OpenAI and Anthropic may retain what is sent to their APIs for a limited period, so they can monitor for abuse — OpenAI states up to 30 days by default, and Anthropic retains for a limited period under its commercial terms. At the time of writing, neither uses content sent through its API to train its models under those terms.
Crash reports
If the app crashes or hits an unexpected error, a short technical report is sent automatically to Sentry, our crash-reporting provider, so we can find and fix the problem.
A crash report contains: the error and the exact place in our code where it happened; your device model and operating system version; the app version you are running; and a short trail of which of our own server endpoints had just run — for example, that a recipe-import request was in progress — not the data carried in those requests.
A crash report does not contain your name, email address, or any identifier that ties it to your account. We do not attach your IP address to it, and we have configured Sentry not to store one either. It never contains your recipe content, your photos, or your voice recordings, and there is no screen recording or screenshot of what you were doing — those features are switched off entirely. Any web address that appears in a report is cut down to which of our endpoints was called; everything after that — including any search text you typed — is removed before the report ever leaves your device.
We keep crash reports only as long as needed to diagnose and fix issues, and use them for that purpose only.
Device permissions
The app asks for four device permissions, all optional:
- Microphone — used only while you hold the mic button or, if you turn on "Listen after Ember speaks", in the listening window of up to 20 seconds after Ember speaks during a cook (see "Voice data") — for voice control. You can decline it and still use the app fully by tapping.
- Notifications — used only for local reminders when a cooking timer finishes. We do not send marketing notifications.
- Camera — used when you choose to photograph a recipe to import it, or to photograph the finished dish after you cook it. You can decline it and still import recipes by link, by pasted text, or from a photo already in your library — and still save a rating without a photo.
- Photo library — used when you pick an existing photo or screenshot of a recipe to import, or an existing photo of the finished dish to attach to your rating. We access only the image you choose, and only for that purpose.
Data retention and deletion
We keep your information until you delete it. You can delete individual recipes at any time, or delete your whole account from Settings → Delete account. On a trial account that has never been linked to an email address, the same row reads Delete trial and does the same thing.
Deleting removes your account and all the data associated with it — your recipes, ratings, notes, cooking history and usage counters — and the photos you added are removed from our storage as part of the same operation: dish photos attached to your ratings, and the generated cover photos on recipes that had no publisher image. Automatic removal runs within bounded limits, so on an unusually large account it is possible for a pass not to reach everything. If an automatic removal is ever incomplete, contact us and we will finish it by hand.
Deleting your account does not cancel an active App Store subscription — manage or cancel that in your Apple account settings.
How long each kind of information lasts:
- Your account, recipes, ratings, notes and photos — while the account exists. Deleted when you delete the recipe, or the account.
- Cook-session records (which recipe, when, how far you got) — while the account exists.
- Daily and monthly usage counters (voice seconds, searches, recipes created) — while the account exists.
- Crash reports — kept by Sentry under its standard 90-day retention.
- Server and hosting logs — short-lived; kept only long enough to run and secure the service.
- Subscription and purchase records — retained by Apple and by our payments partner (RevenueCat) under their own retention policies.
Security
Data is encrypted in transit using HTTPS/TLS, and our infrastructure providers apply their own security measures. Your sign-in session is stored on your device. No method of transmission or storage is completely secure, but we take reasonable measures to protect your information.
Legal bases for using your information (EU, UK and similar jurisdictions)
If you are somewhere whose law requires us to name a legal basis for each use of your information — the EU and the UK, for example — these are ours:
- Performance of a contract — providing the app you asked for: saving your recipes, guiding you through a cook, running your subscription.
- Legitimate interests — keeping the service secure, preventing abuse, applying free-tier limits, and finding and fixing crashes. We use the least information that does the job.
- Consent — the device permissions you grant (microphone, notifications, camera, photo library). You can withdraw that consent at any time by turning the permission off in your device settings; the part of the app that needs it stops working, and the rest carries on.
- Legal obligations — where we must keep or disclose information to comply with the law.
International transfers
Most of the providers listed above are outside your country, and some are outside ours. Where your law requires safeguards for an international transfer, we rely on the safeguards available under applicable law, including the contractual commitments those providers make about how they handle personal information.
Your rights
Depending on where you live, you have some or all of these rights over your personal information:
- Access — ask us what we hold about you.
- Correction — ask us to fix anything that is wrong. You can edit your recipes, ratings and notes yourself in the app.
- Deletion — delete individual recipes in the app, delete your whole account from Settings, or ask us to do it for you.
- Portability — ask for a copy of the information you gave us, in a machine-readable form.
- Objection and restriction — object to, or ask us to limit, certain processing.
- Withdrawing consent — turn off any device permission at any time in your device settings. The part of the app that needs it stops working; the rest does not.
How to exercise your rights, and how to complain
To exercise any of the rights above, email us at support@arveli.app. We will respond within 30 days. We may need to check that the request really comes from you before we act on it.
If you are unhappy with how we have handled your information, please contact us first — we would rather fix it. If that does not resolve it, in Australia you may complain to the Office of the Australian Information Commissioner (oaic.gov.au). In the EU or the UK you may complain to your data protection authority; in the UK that is the Information Commissioner’s Office (ico.org.uk).
Do Not Track: we do not track you across apps or websites at all, so there is nothing for a Do Not Track signal to switch off, and we do not respond to those signals differently.
Children
Arveli is not directed to children. You must be at least 13 years old to use it, and we do not knowingly collect personal information from anyone younger. If you are under 18, please read this policy together with a parent or guardian. Where the law where you live sets a higher age for consenting to online services, that higher age applies. If you believe a child has provided us information, please contact us and we will delete it.
Our website
Our website at arveli.app is a small set of static pages. It sets no cookies and runs no analytics or tracking of any kind.
The site is hosted by Vercel, which keeps short-lived access logs of the requests it serves — the IP address, the page requested, the time, and standard browser details. The site links to this policy and to our Terms of Service.
Beta testing (TestFlight)
Before a release we may run a beta through Apple’s TestFlight. If you join it, Apple collects your email address in order to invite you and run the beta, and shares with us the crash reports from your test builds and any feedback you submit through TestFlight. That collection happens under Apple’s own TestFlight terms and privacy policy rather than this one; anything that reaches us is then handled as described here.
Changes to this policy
We may update this Privacy Policy from time to time. We will revise the effective date above and, for material changes, provide notice within the app.
Contact us
If you have questions about this policy or your data, contact us at support@arveli.app. Our details:
- Arveli
- Operated by Pariwesh Tamrakar
- ABN 15 284 464 084
- New South Wales, Australia
- support@arveli.app