TRANSPARENT BY DESIGN
Your ingredients. A checked method.
AI recipe creation is optional. It starts with foods you confirmed, not unreviewed photo guesses.
What the checks do
You select up to 12 known food identities, total batch quantities, portions, equipment and a time budget. The model proposes a structured cooking method. The server and browser independently reject unselected food IDs, missing selected ingredients, unsupported operations, conflicting ingredient exclusions and methods outside those settings. Recipe steps are rendered from the accepted operations, not copied from unrestricted AI prose.
What the checks cannot prove
Code cannot certify taste, actual cooking duration, food quality, edibility, allergy safety or medical suitability. AI-assisted recipes are drafts, not independently kitchen-tested recipes. A time estimate never replaces a doneness check. Unknown foods, dry beans requiring advance preparation and unsupported combinations may need a dedicated recipe instead.
Food safety
Prepare raw proteins separately, follow product directions and use a food thermometer. The fixed temperature reminders follow FoodSafety.gov safe minimum internal temperatures. Confirm safe storage separately; the app cannot inspect freshness or cross-contact.
Privacy and provider use
One explicit recipe request sends selected canonical food names and amounts, exclusions and cooking settings to Cloudflare Workers AI. It does not send the photo, eater names or private kitchen notes. Provider policies apply. AI responses are not saved to your kitchen unless you review and save them. The application uses temporary in-tab result reuse, not a shared recipe history.
There is no automatic model fallback or retry. Cancelling stops accepting the result locally; an already-submitted provider request may still finish and be billed. Local recipes need no AI request.
For the site owner
AI recipe creation is disabled by default. Set the Pages environment variable RECIPE_AI_ENABLED=true, retain the AI Workers AI binding and the existing Turnstile site and secret keys, then make a new deployment. The default recipe model uses CF_RECIPE_MODEL, then CF_VISION_MODEL, or the existing Gemma model. The status endpoint is /api/recipes/status; configured does not mean model-tested. Preview hostnames need their own permitted widget hostname and bindings.
There is server-side single-use Turnstile verification and best-effort burst throttling. This is not a global spending cap. Set provider/account spending controls and monitor usage before enabling public AI creation.
Sources
Cloudflare structured output and its limitations · Turnstile server validation. Technical references checked 9 October 2026; no clinical reviewer or independent recipe testing is claimed.