FishPilot AI · Legal & privacy
Privacy Policy
How FishPilot AI handles account, location, catch, subscription, and AI-assisted wording data.
AI processing disclosure revision: October 4, 2026
What we collect
- Account identifiers and sign-in provider details when you create or upgrade an account.
- Fishing plans, saved preferences, catch records, notes, and photos you choose to upload.
- Approximate or precise location only when you request nearby water search or choose to save a location with a plan or catch.
- Subscription entitlement and purchase status from the app store and RevenueCat.
- Basic diagnostics when crash reporting is enabled. Authentication tokens, signed photo URLs, private coordinates, and AI prompts containing personal data are excluded from general logs.
How we use data
We use data to provide forecasts, rules-based fishing recommendations, maps, account sync, private catch storage, subscription access, support, security, and service reliability. FishPilot does not sell personal data or use it for cross-app advertising.
Optional AI: data and recipients
The app reads the current recipient configuration before requesting permission. The selected production route sends requests through the official Cloudflare AI Gateway to OpenAI GPT-6 Luna. Both companies can process the request; Cloudflare is not merely a model brand. There is no silent fallback to 4SAPI, direct OpenAI or another model. If no recipients are configured, plans use rule templates and no AI request is sent. AI can only phrase validated facts, not change conditions, scores, safety decisions or regulations.
The data whitelist includes a public waterbody name or selected public area, state, species, selected time window, score/rating, area, depth, lure, backup strategy, reasoning including weather/water facts, confidence, source category, data timestamp, rule version and disclaimer. Request metadata includes language, model and output schema. Precise coordinates, private location names, catch photos, private notes, email and authentication tokens are excluded.
We also send a SHA-256 hash of the internal account UUID through the gateway to OpenAI as a safety identifier for abuse prevention. This is pseudonymous, not anonymous: requests from the same account can be linked.
AI permission and withdrawal
Permission is optional and tied to your current account, disclosure version and recipient configuration. Old device-level choices are not treated as permission for a new disclosure or another account. Declining or dismissing the generation dialog cancels that action and keeps you on Conditions; Generate without AI is a separate rule-template action. Enabling AI in Settings requires the same full disclosure and explicit permission.
Withdraw in My → Settings → Data & privacy → AI-assisted wording. This immediately blocks new AI requests on the device. Once the server acknowledges withdrawal, it rejects the old permission grant before new transmissions, retries and fallback requests. If synchronization fails, the app displays withdrawal pending sync and keeps local AI access off; it does not claim all devices are synchronized. Withdrawal cannot retract data already sent. Request account or provider-data assistance at wangyule0379@gmail.com.
AI retention, use and protection
FishPilot configures the gateway to exclude request and response body logging, gateway caching and log export. Request metadata, including model, token counts, cost and timing, can still be retained. Disabled logging settings do not establish zero retention. The services may also process operational, billing and security metadata. Cloudflare does not use customer content for generative-model training by default. Its DPA and security exhibit do not automatically cover third-party products accessed through AI Gateway; the upstream provider's policies also apply.
OpenAI's published API policies exclude training by default and describe abuse-monitoring retention, generally up to 30 days with exceptions. FishPilot uses Responses store:false, which does not remove abuse monitoring or provider prompt caching. This route uses Cloudflare-managed Unified Billing, not a FishPilot OpenAI BYOK account. We do not claim account-specific Zero Data Retention, a verified processing region, fully anonymous processing, or one Cloudflare agreement covering the entire chain. Changed recipients require updated disclosure and explicit permission.
References: Cloudflare developer-platform terms, Cloudflare gateway logging, Cloudflare Unified Billing, OpenAI services agreement and OpenAI API data controls.
Service providers
FishPilot uses function-specific providers: Firebase for identity and diagnostics; Mapbox for maps/search; RevenueCat and Apple/Google for subscriptions; Cloudflare for delivery, protection and private R2 media storage; NWS/USGS and official agencies for public conditions and regulations. Optional AI recipients and their distinct data boundaries are described above, not hidden behind a model brand.
Storage, retention, and sharing
Account data is kept while your account is active and as needed for backup, fraud prevention, legal obligations, and deletion processing. Anonymous data may be cleaned up after inactivity. Precise fishing locations are private and are not published. Data is shared only with processors needed to operate FishPilot, when you direct us to share it, or when legally required.
Your choices
- Use the app without registering.
- Enable or disable exact catch-location storage.
- Allow or decline AI-assisted wording and change the choice in Settings.
- Export your registered account data.
- Delete anonymous data or your registered account in the app, or use the web deletion page.
Children
FishPilot is not directed to children under 13, and we do not knowingly collect personal data from children under 13. Contact us if you believe a child has provided data.
中文:AI 数据和接收方
AI 为可选表达功能,不拥有评分、安全或法规决策。授权前回读实际接收方:生产选定链路为 Cloudflare 官方 AI 网关 → OpenAI GPT-6 Luna,双方均可处理请求。不静默回退到四S、直连或其他模型。未配置接收方时使用规则模板,不发 AI 请求。
外发白名单:公共水域名或公共区域、州、鱼种、时段、评分/等级、区域/水深/饵/备用策略/理由(含天气与水域事实)、置信度、来源分类、数据时间、规则版本及免责声明;请求元数据含语言、模型和输出 schema。精确坐标、私人点位名、鱼获照片、私人备注、邮箱与认证 Token 不用于 AI 请求。经网关另发送内部账号 UUID 的 SHA-256 防滥用标识给 OpenAI,同一账号可被关联,属于假名化而非完全匿名。
中文:许可、留存和保护
许可绑定当前账号、披露版本及接收配置,旧设备 bool 和其他账号许可不复用。拒绝或关闭生成授权弹窗会取消本次生成并停留 Conditions;模板须另点“不使用 AI 生成”。设置中启用须完整披露并明确允许。撤回先关闭本机新请求,服务端确认后阻止旧 grant 的新传输、重试和回退;失败显示待同步。已发送数据不能撤回。入口:“我的”→“设置”→“数据与隐私”→“AI 辅助表达”。
FishPilot 配置网关排除请求/响应正文日志、缓存及日志导出。模型、用量、费用和耗时等请求元数据仍可能留存;关闭日志设置不等于零留存。服务仍可能处理运维、计费和安全元数据。Cloudflare 默认不把客户内容用于生成模型训练,其 DPA/安全附件不自动覆盖网关第三方产品。OpenAI 公布的 API 政策默认不训练,反滥用通常最多留存 30 天并有例外。store:false 不取消反滥用或提供方提示缓存。所选为 Cloudflare 托管统一计费,不是 FishPilot 的 OpenAI BYOK 账户;不承诺账户级 ZDR、特定地区、全链零留存或完全匿名。精确钓点保持私密,可在 App 导出/删除账户或使用网页删除入口。
Contact / 联系方式
Questions or privacy requests: wangyule0379@gmail.com