NestmerEnglish

隐私政策

生效日期:2026 年 10 月 16 日

1. 我们是谁

Nestmer 是由 Mook Studio 提供的移动应用。本隐私政策适用于 Nestmer 2.0 及之后版本的 iPhone、iPad 应用(通过 Apple App Store 分发)和 Android 应用(通过 Google Play 分发)。除非特别注明平台,以下内容同时适用于两个平台。

联系邮箱:mclim4194@gmail.com

2. 我们处理哪些信息

Nestmer 以本地优先方式工作。大部分数据保存在你的设备本地,而不是上传到 Mook Studio 的服务器。

我们可能处理以下信息:

  1. 你创建和保存的家庭收纳数据,例如楼层、区域、容器、物品名称、备注、标签、日期、是否标记为私密等。
  2. 你主动添加的物品参考图片,包括从相册选择的图片,或你主动拍摄的图片。
  3. 你在应用中保存的设置和本地状态,例如语言、主题、引导状态,以及 Pro 功能的本地解锁状态。
  4. 当你主动使用设备迁移功能时,应用会在同一 Wi-Fi 或热点下处理迁移数据,包括库存结构、设置、图片,以及用于建立连接的临时二维码信息、v2 一次性主秘密或 v1 访问 token,以及会话元数据。
  5. 当你购买或恢复本机 Pro 或 Cloud 订阅时,应用会与 Apple App Store(iOS)或 Google Play 结算服务(Android)交互,以确认购买结果。使用 Cloud 订阅时,服务器会保存订阅状态,以及向商店验证订阅所需的交易标识(Apple)或购买凭证(Google Play)。
  6. 当你主动使用 Cloud 时,处理登录提供方返回的姓名或显示名称(若提供)、邮箱、账号 UID、成员关系与权限、加密后的地图和图片、对象大小/哈希、版本、时间、用量及商店订阅状态。地图名称、物品、备注和图片在设备端加密,服务器不保存解密密钥。屋主能在成员列表中看到成员的邮箱和角色。若你设置私密密码,服务器还会保存一份由该密码在设备上锁住的私密钥匙;私密密码本身从不上传。
  7. 当你使用 Cloud 时,服务器还会记录用量:按云屋所属屋主记录当前存储占用、每个额度周期的图片上传/下载、地图下载和请求次数,以及进行中的上传预占量;按账号记录当天从每位屋主的云屋下载的照片量(每天一条,次日覆盖)和请求频率计数。这些记录用于显示用量、执行套餐限制和防止滥用,不需要解密地图或图片。额度周期按订阅计算,每月在订阅开始的同一日期时刻重置;删除内容不会返还已完成的上传或下载用量。
  8. 当「分享匿名使用数据」开启时(默认开启,可在设置中关闭):崩溃报告(崩溃堆栈、设备型号、操作系统版本、应用版本及 Firebase 生成的随机安装标识)。当前 iOS 与 Android 版本均未接入远程使用事件分析服务,功能使用事件不会上传。这些数据不包含物品名称、位置、备注、图片或邮箱,也不与你的账号关联。

3. 我们如何使用这些信息

我们仅将这些信息用于以下目的:

  1. 让你创建、浏览、编辑和检索家庭物品与收纳结构。
  2. 让你为物品添加参考图片,便于识别存放位置。
  3. 让你在兼容设备之间直接迁移本地数据。
  4. 让你购买、恢复和保存 Pro 功能状态。
  5. 让应用记住你的本地偏好设置并正常运行。
  6. 提供你选择的云端保存、共享、成员审批、订阅验单、用量显示及额度和滥用控制。
  7. 诊断崩溃、提升应用稳定性;不用于广告或跨应用跟踪。

4. 权限说明

Nestmer 按你选择的功能使用以下系统权限和服务:

  1. 相机权限:仅在你主动选择“拍照”或“扫描迁移二维码”时使用。
  2. 照片/图片读取:仅在你主动从相册选择图片作为物品参考图时使用。iOS 使用照片访问授权;Android 12 及更早版本可能请求读取存储权限,较新的 Android 版本使用系统图片选择器,只读取你选中的图片。
  3. 网络:用于局域网迁移、应用商店购买,以及你主动启用的 Cloud 登录、加密同步和订阅验证。iOS 上局域网迁移需要“本地网络”授权。
  4. 应用内购买:iOS 使用 App Store 购买服务,Android 使用 Google Play 结算服务,用于购买或恢复 Pro 功能和 Cloud 订阅。

我们不会在你未主动触发相关功能时,为其他目的使用这些权限。

5. 数据存储与传输方式

  1. 你的库存数据、应用设置和 Pro 状态主要存储在设备本地。
  2. 你添加的图片会保存在应用私有文件目录中,但 Nestmer 不会对这些本地图片另行进行静态加密;它们受设备操作系统的应用隔离和设备安全机制保护。
  3. 本机功能无需账号;Cloud 提供可选 Google、Apple 或邮箱密码账号(可用的登录方式因平台而异)和端到端加密共享。登录服务会处理邮箱(包括 Apple 隐藏邮箱)、提供方账号标识和必要的授权凭证;用户可主动将多种登录方式关联到同一账号。屋主选择从本机的家创建并绑定云屋后,本机地图与该云屋在应用前台时自动同步;加入的云屋可作为独立的家切换使用。同步与使用服务需要网络连接。私密物品只有在你设置或输入私密密码后才会上传,并用你账号专属的私密钥匙加密:你自己的设备可以同步查看,其他成员和服务器都无法读取。未设置私密密码时,私密物品仅保存在本机。需要屋主审核的成员不能添加私密物品。
  4. 当你主动发起安全迁移 v2 时,库存数据和图片会在同一局域网内由设备直接、端到端加密传输,而不是先上传到 Mook Studio 的服务器。新版也支持与旧版 v1 互传;必须先确认本次非端到端加密,兼容模式会通过局域网明文传输数据和图片。
  5. 迁移二维码包含可启动会话的一次性秘密。请勿分享、转发或截图。二维码的扫码窗口为 3 分钟;会话最长持续 60 分钟,连续空闲 5 分钟会自动关闭。
  6. 默认 v2 的局域网 HTTP 仅承载端到端加密后的密文;经用户确认的 v1 兼容模式承载明文,同一网络中的其他人可能读取或篡改内容。但加密不会隐藏所有网络元数据:同一网络上的设备或网络管理者仍可能观察到 IP 地址、数据包大小和传输时序。请仅在你信任的网络与本人控制的设备之间迁移。
  7. 应用会自动将迁移内容分块,显示进度,并对可恢复的分块失败自动重试。在覆盖接收设备的本地数据前,应用会验证认证信息和数据完整性;空间不足、认证失败或数据损坏会中止导入。
  8. 单张图片最大为 50 MiB,一次迁移的总包最大为 1 GiB。
  9. Cloud 的地图、物品信息和图片在设备上使用 AES-256-GCM 加密;私钥保存在系统安全存储。私密物品及其图片另用账号私密钥匙以 AES-256-GCM 加密;该钥匙在上传前先用你的私密密码(PBKDF2-SHA256)在设备上锁住。云屋图片的独立压缩版本在上传前移除 EXIF/GPS 等元数据,不替换本机原图。本地云屋草稿另行加密,已解密图片缓存仍是应用私有目录中的普通图片。
  10. 加入云屋时会下载完整地图和全部照片的缩略图;照片需要以大图显示时才下载该张大图。你自己的私密照片,以及屋主「我的家」里的照片,会在后台下载完整大图,以便云屋删除后本机仍然完整。获邀成员拥有内容副本;移除成员会撤销后续服务器访问并更换未来内容的密钥,不能收回已经下载或另行复制的数据。邀请/恢复凭证含解密密钥,只通过你信任的渠道分享;遗失全部凭证和设备密钥后,我们无法通过重置密码恢复加密内容。忘记私密密码时我们也无法找回:你可以重设私密密码,但之前同步到云端的私密物品将无法再读取,设备上已有的私密物品会保留并重新同步。

6. 第三方服务与商店

Nestmer 不集成广告 SDK 或第三方行为跟踪 SDK。应用使用 Google Firebase Crashlytics 按「分享匿名使用数据」开关收集崩溃报告。当前 iOS 与 Android 版本均没有远程使用事件分析服务。

但在以下场景下,第三方平台会按照它们各自的政策处理部分信息:

  1. Apple App Store(iOS)与 Google Play(Android):用于完成应用内购买、恢复购买、订阅验证和相关账单处理。服务器会向对应商店查询订阅状态;在 Google Play 上还会确认(acknowledge)新购买。
  2. 设备操作系统提供的相机、照片库和本地网络能力:用于执行你主动发起的系统功能。
  3. Google Firebase Authentication、Firestore、Cloud Storage、Cloud Functions 与 App Check:用于可选 Cloud 的账号、加密数据保存、用量、权限、设备真实性与反滥用校验。Firestore/Storage 的配置区域为美国 us-east1;平台认证、商店及网络服务可能在其他地区处理必要信息。服务提供方可能处理 IP、设备验证信息及安全日志,E2EE 不隐藏这些元数据。参考 Firebase 隐私与安全。
  4. Google Firebase Crashlytics:在「分享匿名使用数据」开启时接收崩溃报告及设备、系统信息,用于诊断稳定性问题,由 Google 按其政策处理。
  5. Google 登录与“通过 Apple 登录”:仅在你选择对应登录方式时,由 Google 或 Apple 完成身份验证,并向 Nestmer 返回邮箱、账号标识和必要的授权凭证。

这些平台如何处理你的信息,受它们各自的隐私政策和条款约束。

7. 我们不会做什么

根据当前版本实现,Nestmer 不会:

  1. 要求仅使用本机功能的用户注册或登录。
  2. 在你未选择创建、绑定或使用 Cloud 时上传本机个人地图,或把 Cloud 的地图、备注和图片以可供服务器解密的明文保存。
  3. 集成广告追踪或跨应用跟踪,也不会出售你的个人数据。崩溃数据仅在「分享匿名使用数据」开启时收集,且不含你的库存内容。
  4. 收集精确位置信息、联系人、短信、通话记录或日历数据。

8. 你可以如何控制你的数据

你可以随时:

  1. 在应用内编辑或删除物品、图片、标签和备注。
  2. 将物品标记为私密,并在设备迁移时选择不包含私密项目;在 Cloud 账号页设置、修改或重设私密密码,未设置时私密物品不会上传。
  3. 在系统设置中撤回相机或照片访问权限,但这可能影响相关功能的使用。
  4. 通过删除应用或清除应用数据来移除本地保存的信息。不同平台的具体入口可能不同。退出登录会在本设备保留按账号隔离的 Cloud 缓存和密钥,供同一账号再次登录时使用。
  5. 在 Cloud 内管理成员、退出别人的云屋、删除云屋,或通过已绑定方式重新验证身份后删除 Cloud 账号(Apple 关联账号还会撤销 Apple 授权)。删除云屋或账号前,应用会先把本机「我的家」缺少的大图下载到本机;订阅已结束而无法下载时,会先提示你这些照片删除后只保留缩略图。删除账号会撤销成员关系,删除认证账号、服务器保存的私密钥匙和本机该账号的 Cloud 缓存与密钥;拥有的云屋进入异步删除队列。本机个人地图不受影响。删除应用不等于删除云端数据;删除账号也不会替你取消自动续订:iOS 请在 App Store 的「管理订阅」中取消,Android 请在 Google Play 的「付款和订阅 → 订阅」中取消。删除步骤、删除和保留的数据,以及无法使用应用时如何申请删除,见账号删除说明。
  6. 随时在「设置 → 分享匿名使用数据」中关闭崩溃报告上传。

9. 数据保存期限

只要你继续在设备上保留应用及其数据,本地数据通常会继续保存在你的设备中。若你删除应用、清除应用数据,或手动删除相关内容,这些数据将从你的设备本地移除。

如果你主动通过电子邮件联系我们,我们会在处理你的支持请求所需的合理期限内保留你提供的联系信息和来信内容。

Cloud 在有效订阅期间保存当前加密版本。未引用的暂存对象及旧版本清单在 24 小时后可回收,待审版本在 7 天后到期;更换云屋密钥后,成员尚未重新加密的私密照片旧文件会保留到其设备重新加密完成,被移除成员的私密照片在屋主下次同步时清除;每日下载记录每天覆盖一次,请求频率计数约 35 天后自动过期;订阅失效后 90 天进入云端删除队列。清理任务定期执行,失败时重试,实际完成时间可能延后。删除账号后必要的交易、反重复认领绑定及最小删除记录继续保留,用于履行账单与防欺诈目的,不包含地图正文或解密密钥。平台商店和云服务的安全/交易日志按其规则保存。

崩溃报告及其随机安装标识按 Firebase 的保存规则保存,当前不附加你的 Cloud 账号 UID、邮箱或库存内容。关闭开关后不再收集新数据;已收集的数据按其保存期限自动过期。

10. 儿童隐私

Nestmer 不以 13 岁以下儿童为目标用户,也不会故意向儿童收集个人信息。如果你认为儿童在未经监护人同意的情况下向我们提供了信息,请通过上述邮箱联系我们。

11. 政策变更

我们可能会在应用功能或适用要求发生变化时更新本隐私政策。更新后版本将通过新的生效日期反映。

12. 联系我们

如果你对本隐私政策或 Nestmer 的数据处理方式有疑问,请联系:mclim4194@gmail.com