{"schema_version":"qazfish-local-tools-v1","product_id":"qaz-fish","generated_from":"app/lib/local-tool-contracts.ts","data_as_of":"2026-07-23T11:57:23.483Z","public_route":"https://qaz.fish/data/local-tools.json","tools":[{"id":"saved-waters","route":"https://qaz.fish/waters","storage_key":"qazfish.saved-waters.v1","storage_scope":"browser-localStorage","stored_fields":["water_profile_id"],"export_schema":null,"source_catalogue":"https://qaz.fish/data/water-index.json","record_limit":28,"privacy_boundary":"Stores stable water profile IDs only; no exact user coordinates or account sync."},{"id":"trip-plan","route":"https://qaz.fish/trip","storage_key":"qazfish.trip-plan.v1","storage_scope":"browser-localStorage","export_schema":"qazfish.trip-plan.export.v1","stored_fields":["waterId","date","species","checked","note"],"source_catalogue":"https://qaz.fish/data/water-index.json","record_limit":1,"privacy_boundary":"Stores one editable plan on the device; export JSON contains no exact geolocation."},{"id":"catch-journal","route":"https://qaz.fish/journal","storage_key":"qazfish.catch-journal.v2","storage_scope":"browser-localStorage","export_schema":"qazfish.catch-journal.export.v2","stored_fields":["id","date","time","outcome","waterId","water","species","weight","length","method","bait","disposition","note","privacy"],"source_catalogue":"https://qaz.fish/data/water-index.json","species_catalogue":"https://qaz.fish/data/species-index.json","water_options":28,"species_options":25,"record_limit":500,"privacy_boundary":"User-entered trip records stay on the device; exported JSON carries reviewed water IDs or names, not exact catch locations."}],"unsupported_claims":["server-side personal account storage","cross-device synchronization","exact catch coordinate export","public user catch feed"]}