Skip to content

Privacy Policy

Percolate is a coffee roasting companion made in Aotearoa New Zealand, on the web and on Android. This page explains what we collect, why we collect it, and what you can do about it, including how to delete your account. We handle your information in line with the New Zealand Privacy Act 2020 and its Information Privacy Principles.

The short version: your roasting records are yours. We use them to run the app for you, we do not sell them, and we only share them with the services we need to make Percolate work.

Last updated 26 October 2026

Who we are

Percolate (“we”, “us”, “our”) operates the Percolate website and web app at letspercolate.app and the Percolate app for Android. This policy covers all of them. We are the agency responsible for your personal information. If you have a question about your privacy or the information we hold, email info@letspercolate.app.

What we collect

We collect the following, and only what we need to run the service.

  • Account details. Your email address, a password (stored only as a secure hash, never in plain text) and the name of your roastery, which you give us when you sign up, and the user ID we assign to your account.
  • Roasting records. The green beans you add, including the supplier label text you paste in, your stock levels and prices; the blends you design and the requests you make to the blend designer; your roasts and their timings; your tasting notes; and your preferences, such as brew style, roaster type and any machine notes. This is the record you build as you use Percolate.
  • Billing details. On the website, our payment provider Stripe handles your card, and Stripe receives your email address and an account reference from us. On Android, you pay through Google Play, and RevenueCat manages the subscription using your account’s user ID. In both cases we receive your subscription status, plan and renewal date, not your card number.
  • Technical data. Our hosting and database providers keep standard server logs, such as IP address, browser or device type, the pages requested and error reports. In the Android app, PostHog records app lifecycle, feature-use and diagnostic events tied to your internal user ID. On the website, it records signup events, failed requests and error reports using that same internal ID. Web diagnostics exclude form contents, query strings and raw error messages. Agent diagnostics include a run ID, status, duration, model and cost, but not your blend request or bean and roasting records. We use these records to understand whether features work, keep the service secure and fix problems. We do not use them for advertising.
  • Messages you send us. If you email us for support, we keep that correspondence. In-app feedback includes your message, category, platform, screen and build version. We include your account email only if you choose to let us contact you.

How we use your information

We use the information above to:

  • run your account and keep your records available across the website and the Android app;
  • read supplier labels and turn them into bean characteristics;
  • design blends from your stock, roasts and tastings using AI (see below);
  • take payment and manage your subscription;
  • send the emails the service needs, such as confirming your address and resetting your password;
  • send up to three onboarding emails based on your progress, with a link to stop them in every email;
  • keep Percolate secure, and diagnose and fix problems.

We do not sell your personal information, and we do not use it for advertising.

AI and your roasting records

Percolate uses AI to analyse the green bean labels you add and to design blends when you ask for one. To do this we send the relevant records to our AI providers, purely to generate your result. For a bean analysis that is the label text. For a blend design it is your request together with the stock, roasts, tastings and preferences the designer needs to answer it.

The models we use are made by MiniMax, Z.ai, Meituan and Anthropic, and which one handles a request depends on how Percolate is configured at the time. We reach Anthropic’s models directly. We reach the others through OpenRouter, which passes each request to a company that serves the model. That may be the company that made it or another hosting provider, and the request is handled under OpenRouter’s terms and that company’s. Anthropic does not use data sent through its commercial API to train its models.

Suggestions from the blend designer are a starting point to test in the cup, not a guarantee.

Who we share it with

We share your information with the services that run Percolate, and only so they can perform their part. These are our processors:

  • Supabase: database and sign-in.
  • Vercel: hosting for the website and app.
  • Stripe: payments and subscriptions on the website.
  • Google Play: payments for the Android app.
  • RevenueCat: manages Android subscriptions, using your account’s user ID.
  • PostHog: product analytics and error reporting for the Android app and website, using your account’s user ID, plus metadata-only diagnostics for blend-design runs.
  • Resend: the account and onboarding emails we send you.
  • cmd-deck: stores the feedback you send in the app and your email if you choose to share it.
  • Anthropic, and OpenRouter with the companies that serve its models: the AI that analyses your beans and designs your blends.

We may also share information if the law requires it, or to protect the rights, safety and property of Percolate and our users.

Where your data lives

Your records are stored in Australia, in Supabase’s Sydney region, and the app runs on Vercel in Sydney. Stripe, Google Play, RevenueCat, PostHog, Resend, OpenRouter and Anthropic are based in the United States, and the companies that serve AI models may be in other countries, including China.

So your information is stored and processed outside New Zealand, and some of these countries may not have privacy laws comparable to New Zealand’s. We send each provider only what its part of the service needs.

How long we keep it

We keep your records for as long as your account is open. If your trial or subscription ends, your saved records stay available to read. When you delete your account, we delete your account and its data within 30 days, apart from the payment records and logs described under Delete your account, which we keep for longer.

Delete your account

You can delete your Percolate account and the data linked to it at any time, from the Android app or the website.

Cancel your subscription first. Deleting your account does not cancel a Google Play subscription, and it would keep renewing. On Android, open the Google Play Store, tap your profile picture, then Payments & subscriptions, then Subscriptions, choose Percolate and cancel. If you subscribed on the website, open Settings on letspercolate.app and choose Manage billing to cancel.

Then delete your account:

  1. Open the Percolate app on Android, or sign in at letspercolate.app.
  2. Go to Settings.
  3. Choose Delete account, and confirm.

If you can’t sign in, or you would rather ask us, email info@letspercolate.app from the email address on your account with the subject “Delete my account”. We may ask you to confirm the request from that address.

We delete your account and its data within 30 days of your request. That includes:

  • your account details: email address, password hash, user ID and roastery name;
  • your roasting records: beans, blends, roasts, tastings, preferences and blend design requests.

Some records are kept for longer:

  • Payment and subscription records, such as your plan, payment and renewal dates and the Stripe, Google Play or RevenueCat references for them, for 7 years, as New Zealand tax law requires.
  • Server logs, error reports and backups, for up to 30 days after your account is deleted, after which they are removed.

Stripe, Google Play and RevenueCat also keep their own records of your payments under their own policies, and AI requests that were already processed are handled under the provider terms described above.

How we protect it

Your connection to Percolate is encrypted in transit, passwords are stored only as secure hashes, and every account’s records are kept separate at the database level. On Android, your sign-in session is normally kept in the device’s secure keystore. Access to your data is limited to what is needed to run the service. No system is perfectly secure, but we take reasonable steps to guard against loss, misuse and unauthorised access.

Your choices and rights

Under the Privacy Act 2020 you can:

  • ask for a copy of the personal information we hold about you;
  • ask us to correct anything that is wrong;
  • delete your account and your data (see Delete your account).

To ask for a copy or a correction, email info@letspercolate.app. If you are not happy with how we have handled your information, you can contact the Office of the Privacy Commissioner at privacy.org.nz.

Cookies and device storage

The Blend Shelf shows only recipe fields you explicitly preview and publish. A public roastery name, unique URL handle, recipe title, bean descriptions, ratios, decaf status and blending method identify the shared recipe. Saving your public roastery makes its name and generated URL public, even before you publish a recipe. Your roastery links your published recipes together. Recipe names, bean names, flavour tags, lot facts and recipe guidance fill the preview automatically and can be edited before publishing. Original public source credit remains on adaptations. Publication is a snapshot; later private edits, roasts and tastings are not automatically shared. You can separately choose recorded roast/tasting measurements to include in the exact public preview. Inventory quantities, purchase records, costs, source references and private notes stay private. Public discovery pages and recipe views use a session-scoped browser identifier. We record broad page families and referral categories such as Google, Bing or ChatGPT to understand which visits lead to useful recipes. Full referrer URLs, search queries and calculator inputs are not collected. Choosing to make a recipe stores a signed continuation and first Shelf touch for up to 30 days so we can resume the recipe through signup and measure whether public recipes lead to accounts and saved blends. These records use opaque identifiers, recipe references and operation metadata, not your notes or inventory contents. Browser blocking and cross-device use can prevent attribution. You can unpublish a recipe. Independent private copies and third-party caches cannot be recalled, but withdrawn author identity is removed from our retained imports.

On the website we use cookies to keep you signed in, and your browser’s local storage to remember a blend design that is still in progress. The Android app normally keeps your sign-in session in the device’s secure keystore, using the app’s own storage instead on a device where the keystore is unavailable, and remembers an in-progress blend design in the app’s own storage. We do not use advertising or cross-site tracking cookies. When you sign up from a Shelf recipe or save it for app installation, your account can remember the recipe destination so you can resume after email confirmation or on another device. Automatic resumption expires after 30 days. The hint grants no access to private records and is cleared when the matching draft opens, replaced by another choice, or removed with your account. The Shelf continuation cookies described above also support acquisition measurement.

Children

Percolate is made for adults and is not directed at children. We do not knowingly collect personal information from children under 16. If you believe a child has given us their information, email us and we will remove it.

Changes to this policy

We may update this policy as Percolate grows. When we do, we will change the date at the top of this page, and for significant changes we will let you know in the app or by email.

Contact us

Questions about this policy or your information? Email info@letspercolate.app and we will get back to you.