consent-and-notices
1. My Plan and calculators: consent gate (before the first question)
Title: "Before you start" Text: "This tool gives general estimates for educational purposes only. It is not medical advice and does not replace your doctor or registered dietitian. Plans and recipes here are indicative. Talk to a qualified health professional before changing your diet, especially if you have a medical condition, take medication, are pregnant or breastfeeding, or are under 18. You use this tool at your own risk and responsibility. See the Medical Disclaimer and Terms of Use." Required checkbox 1: "I am 18 or older." Required checkbox 2: "I understand this is not medical advice, and I will consult my doctor or another qualified professional before changing my diet. I accept the Medical Disclaimer and Terms of Use, and I use these tools at my own risk and responsibility." Button "Continue" is disabled until both are checked. Store the acknowledgment only for the browser session (no server logging). The links open the legal pages in a new tab.
2. Result screens (macro calculator and My Plan)
Under the results: "Estimates for educational purposes only. Not medical advice. Check with your doctor or dietitian before following any plan."
3. Recipe page (under the nutrition table)
"Nutrition values are estimates. Check ingredient labels and your own dietary needs, allergies, and medical advice before preparing this recipe."
4. Global footer (every page)
"Educational content only. Not medical advice. Consult your doctor before changing your diet. Medical Disclaimer · Terms · Privacy · Affiliate Disclosure · Cookie settings"
5. Newsletter form
"By subscribing you agree to receive emails from Ketodiet.center. Unsubscribe any time. See our Privacy Policy." (Explicit checkbox for Canadian/EU visitors, no pre-checked boxes.)
6. Community form
Required checkbox: "I confirm this recipe is mine or I have the right to share it, I accept the Terms of Use and the license in section 9, and I understand my display name will be published." Add: "Do not include medical advice or promises of results."
7. Cookie banner
Buttons "Accept all", "Reject non-essential", "Manage". No analytics, advertising, affiliate cookies or third-party embeds before consent. Footer link "Cookie settings" reopens it.
8. Placeholders to fill in config (src/config/legal.ts)
OPERATOR_NAME, ADDRESS, CONTACT_EMAIL, PRIVACY_OFFICER_NAME, AFFILIATE_PROGRAM_STATEMENTS. Render these in the legal pages. If any is empty, show a visible build-time warning in the final report and fail the production build.
