ZenLock
Privacy Policy
Effective 8 August 2026
ZenLock has no servers, no accounts, and no analytics. It does not collect, transmit, or sell your personal data. Everything the app knows about you stays on your device.
What ZenLock stores, and where
All of the following is written to your device only — in UserDefaults and in a
shared App Group container (group.com.js.ZenLock) used by the app and its Screen
Time extensions:
- Your rules: names, emoji, schedules, weekdays, difficulty, break settings
- Your app groups (see the Screen Time section for what these actually contain)
- Shield events: when a shield was shown, and whether you continued, took a break, or used an emergency unlock
- Emergency unlock reasons you pick from the built-in list
- Protection-pause events
- Daily Screen Time minute totals produced by Apple's DeviceActivityReport extension
- App settings and onboarding progress
None of this is transmitted anywhere. There is no ZenLock backend to transmit it to.
Screen Time data
ZenLock uses Apple's Family Controls, Device Activity, and Managed Settings frameworks to shield apps you choose.
An important detail about how these work: when you pick apps or categories, iOS hands the app opaque tokens, not names or bundle identifiers. ZenLock cannot see which specific apps you selected, cannot read their contents, and cannot enumerate what is installed on your device. It stores the tokens so it can re-apply your own shields.
Screen Time totals are computed inside Apple's DeviceActivityReport extension,
which runs in a sandbox that has no network access at all. It writes only aggregate minute
counts into the shared App Group for the app to display.
Purchases
ZenLock Pro is sold through Apple's In-App Purchase. Payment is handled entirely by Apple — ZenLock never sees your payment details. The app reads your entitlement status from StoreKit to know whether Pro is unlocked. Apple's own privacy policy governs the transaction.
Notifications
ZenLock schedules local notifications (rule reminders, break endings, weekly reports). These are created and delivered on-device. No push server is involved and no device token is collected.
What ZenLock does not do
- No analytics or telemetry SDKs of any kind
- No advertising, no ad identifiers, no attribution
-
No tracking across apps or websites (
NSPrivacyTrackingisfalse, and the tracking-domains list is empty) - No accounts, logins, email collection, or contact upload
- No location, camera, microphone, photo, or health data access
- No third-party SDKs — the app ships with no remote package dependencies
Data retention and deletion
Because your data never leaves the device, you control all of it:
- Clear the sample data: Settings → clear demo data
- Delete everything: delete the app. iOS removes the app container and the shared App Group container with it, including all rules, events, and totals.
There is nothing for us to delete on our side, because we never received anything.
Children
ZenLock is not directed at children under 13 and does not knowingly collect personal information from them. Since it collects no personal information from anyone, this holds for all users.
Changes
If this policy changes, the effective date at the top will change with it. Material changes will also be noted in the app's release notes.
Contact
Questions about this policy: nextlab@agent.qq.com
ZenLock
隐私政策
生效日期:2026 年 8 月 8 日
ZenLock 没有服务器、没有账号、没有任何统计分析。它不收集、不上传、不出售你的个人数据。App 关于你的一切都留在你自己的设备上。
存了什么,存在哪
以下内容只写入你的设备——UserDefaults 以及主 App
与屏幕使用时间扩展共用的 App Group 容器(group.com.js.ZenLock):
- 你的规则:名称、emoji、时段、生效星期、难度、休息设置
- 你的 App 分组(具体内容见下面「屏幕使用时间数据」一节)
- 拦截事件:何时弹出了盾牌,以及你是继续、休息,还是用了紧急解锁
- 你从内置列表里选择的紧急解锁原因
- 暂停保护事件
- 由 Apple 的 DeviceActivityReport 扩展产出的每日屏幕使用分钟数
- App 设置与引导进度
这些都不会被发送到任何地方——ZenLock 根本不存在可以发送的后端。
屏幕使用时间数据
ZenLock 使用 Apple 的 Family Controls、Device Activity、Managed Settings 框架来拦截你选择的 App。
这里有个重要细节:当你选择 App 或分类时,iOS 交给应用的是不透明令牌(opaque token),不是名称也不是 bundle id。也就是说,ZenLock 看不到你具体选了哪些 App,读不到它们的内容,也无法列举你设备上装了什么。它保存令牌,只是为了能重新施加你自己设定的拦截。
屏幕使用时间总计是在 Apple 的 DeviceActivityReport 扩展内部计算的,那个沙盒完全没有网络权限。它只把聚合后的分钟数写进共用 App Group 供 App 显示。
购买
ZenLock Pro 通过 Apple 内购销售,支付全程由 Apple 处理,ZenLock 接触不到你的支付信息。App 只从 StoreKit 读取「是否已解锁 Pro」这一状态。交易本身适用 Apple 的隐私政策。
通知
ZenLock 使用的是本地通知(规则提醒、休息结束、周报),在设备上生成与送达,不涉及任何推送服务器,也不收集 device token。
ZenLock 不做的事
- 不接入任何统计 / 埋点 SDK
- 不投广告,不使用广告标识符,不做归因
-
不跨 App 或网站追踪(
NSPrivacyTracking为false,追踪域名列表为空) - 不设账号、不登录、不收集邮箱、不读取通讯录
- 不访问位置、摄像头、麦克风、照片、健康数据
- 不含任何第三方 SDK——项目没有远程包依赖
数据保留与删除
因为数据从未离开设备,所以完全由你掌控:
- 清除示例数据:设置 → 清除演示数据
- 删除全部:删除 App。iOS 会一并移除 App 容器与共用 App Group 容器,规则、事件、统计全部消失。
我们这边没有任何东西需要删除,因为我们从未收到过。
儿童
ZenLock 并非面向 13 岁以下儿童,也不会在知情的情况下收集其个人信息。由于本 App 对任何人都不收集个人信息,这一点对所有用户都成立。
变更
如政策有变更,顶部的生效日期会同步更新,重大变更也会在版本更新说明中注明。
联系方式
关于本政策的问题请联系:nextlab@agent.qq.com