Pending Exposures 0
Awaiting event associationPending foods do not enter recurring ingredient analysis unless you deliberately associate them with a symptom or event.
Log Food Exposure
Manual entryRecord Symptom / Event
Record what happened and tick the food exposures that may have preceded it. Only selected exposures contribute to recurring ingredient analysis.
Verified Ingredients (2+ Events)
Unverified Whole-Food Entries
Logged without ingredient listsManual foods logged without an ingredient list are tracked separately here so their product names are not conflated with verified ingredients.
Appearance
Backup & Data Portability
All data resides solely in your browser's local IndexedDB database. Export regular backups to protect against phone loss or browser resets.
Encrypted Backup (AES-256-GCM)
Encrypts your backup using Web Crypto API (PBKDF2-HMAC-SHA256 with 210,000 iterations + AES-256-GCM) before saving the file.
Restore / Import Backup
Security & Storage Architecture
- Local-first isolation: No server, cloud database, accounts, telemetry, or analytics exist in this app.
- IndexedDB vs Encryption: IndexedDB stores data locally on your device. It is protected by your phone's operating system passcode and hardware disk encryption (iOS Data Protection / Android File-Based Encryption), not independent database encryption. Use the AES-256-GCM Encrypted Backup option above when storing backups externally.
- Barcode lookup privacy: Scanning a barcode transmits only the numeric barcode to the public Open Food Facts API (`world.openfoodfacts.org`). Your food history, timestamps, and symptoms are never transmitted.
- Cached lookups: Retrieved products are cached locally (0 cached) to prevent duplicate network requests.
Danger Zone
Permanently erase all food exposures, events, associations, and cached products from this device.