Privacy

This page describes what the running code does. It is not a legal commitment.

Calculations and recipes

All calculations run in your browser. Recipe content is not sent to a server.

Recipe drafts live in localStorage keys foodmarj.recipe-library.v1 (recipe list) and foodmarj.recipe-draft.v1 (active draft). You can download the file and open it on another device.

Other data in this browser

Cookie choice is stored in the localStorage key foodmarj_consent. It has no expiry; it stays until you change it or clear site data.

Usage counters live in the localStorage key foodmarj.usage.v1 (completed calculations, last visit, save intent). Session key in sessionStorage: foodmarj.usage.session.

Whether an AI referral was counted in this session is stored in the sessionStorage key foodmarj_ai_referral_sent.

Google Analytics

Google Analytics loads only if you click Accept on the cookie bar. If you reject, no request is sent to Google. If you later reject after accepting, the _ga and _ga_<ID> cookies are deleted.

The _ga cookie is a persistent client identifier. It is pseudonymous. This codebase does not set a cookie lifetime. Google’s default applies; browsers often cap it at about 400 days.

Events sent after consent: page_view, landing_view, calculator_started, ingredient_added, recipe_calculated, ai_referral. Recipe names, ingredient names and prices are not sent.

Vercel

The site is hosted on Vercel.

Vercel Web Analytics is cookieless. It does not ask for consent. It measures aggregate visits. Speed Insights is not installed.

Changing your preferences

You can change your choice at any time with the Cookie preferences link at the bottom of the page.

Account and payment

There is no account or payment. No user records are kept.

Last updated: 16 October 2026

Calculate your own recipe

Privacy | Foodmarj