popup_budget = 0
在应用中,你永远不会看到营销弹窗、升级提示框或「给我们评分」打断流程。唯一存在的对话框,只服务于真正功能性的瞬间 —— 确认破坏性操作、显示你的恢复密语,或是你主动打开的订阅付费墙。
$ rg -i "showDialog|showModalBottomSheet" lib/ \
--type dart | grep -vi "confirm\|recovery\|paywall_route"
# 预期:0 行结果
8 条沉静承诺
每条承诺都附有你可以亲自运行的验证命令。我们在每次发布时重跑一遍并更新下方日期。一旦检查失败,这个页面会在任何产品文案之前先声明。
在应用中,你永远不会看到营销弹窗、升级提示框或「给我们评分」打断流程。唯一存在的对话框,只服务于真正功能性的瞬间 —— 确认破坏性操作、显示你的恢复密语,或是你主动打开的订阅付费墙。
$ rg -i "showDialog|showModalBottomSheet" lib/ \
--type dart | grep -vi "confirm\|recovery\|paywall_route"
# 预期:0 行结果
QiFlux 全 app 零广告,免费与付费一致。binary 中不含任何广告 SDK(Google Mobile Ads 已移除)。没有奖励广告、没有横幅、没有插页广告。承诺由 SDK 缺席保证,而非 UI 开关控制。
$ grep "google_mobile_ads" app/pubspec.yaml # 预期:0 个符合 — SDK 不存在
首次启动只会在本地创建一个匿名 profile —— 没有帐号、邮箱、电话号码。登录是完全可选的,藏在 Settings 的一个开关后面。我们绝不以「为你保存数据」为名索要邮箱。
$ docs/design/scripts/validate-design-system.sh anonymous_default # 在 Onboarding/* 中搜 email|phone|account;预期为 0
默认情况下,没有任何周期数据离开你的设备。云端 AI 是可选启用。加密云端备份是可选启用。本网站使用 0 个第三方追踪器 —— 没有 GA、没有 Mixpanel、没有 PostHog。
$ npx @cap-go/cli analyze --binary build/ios/QiFlux.app # 预期:出站端点 == [仅 Apple StoreKit、Google Play Billing]
我们在两个平台最多搭载 5 个第三方 SDK。目前 binary 搭载 3 个:RevenueCat(订阅)、Sentry(崩溃报告,PII 过滤)、Health SDK(HealthKit / Health Connect OS bridge,无外部服务器)。Apple 登录与 Google 登录是 OS bridge,仅用于备份登录。所有依赖都可在公开 pubspec 审计。
$ jq '.dependencies | keys | length' pubspec.yaml.json # 预期:≤ 5 个第三方网络 SDK
在应用中任何位置,两次点击即可取消订阅:设置 → 「管理订阅」直接深链到操作系统的原生订阅页面。我们绝不把取消流程放在自家 UI 里 —— Apple 与 Google 都明文禁止那里常见的暗黑模式。
$ flutter test test/integration/cancel_subscription_test.dart # 断言:settings_subscription_row → openManageSubscriptionsUrl()
每次结账都有三道锁:(1) 确认按钮上方以粗体显示首次扣款日期与金额,(2)「N 天后扣款」倒计时永远可见于设置中,(3) 一键「立即取消」绕过我们的 UI 直接执行。没有「免费试用」的标题会出现,除非数学计算就放在它下面。
$ flutter test test/widget/paywall_transparency_test.dart # 断言:粗体扣款日期、倒计时、立即取消 在确认前可见
若你选择启用云端 AI,发送到 Google Gemini 的提示词仅包含周期阶段、体质标签与 3 个所选症状 —— 不含姓名、邮箱、生日、设备 ID。Google 付费版承诺不训练。你可以随时切换回纯本地模式。
$ docs/design/scripts/audit-prompt-payload.ts # 解码出站提示词;预期不含任何 PII 字段
承诺一旦失败
不静默修改。不悄悄回滚。如果我们发布的版本破坏了上述任一承诺,本页会从绿色变橙色,说明发生了什么、我们以哪个补丁修复、何时完成。