运动山海(ShanhaiSport)隐私政策

生效日期:2026-10-05 · Shanhai Sport Privacy Policy · Effective 2026-10-05

中文 · English

运动山海(ShanhaiSport,以下简称「本 App」)尊重并保护你的隐私。 本 App 是一个单机离线游戏,不收集、不上传、不共享任何个人信息—— 你的游戏进度、位置、身份密钥全部只保存在你的设备上,我们(开发者)无法看到。

一句话总结:本 App 没有账号、没有服务器、没有统计 SDK、广告 SDK 或崩溃上报 SDK, 运行期间不发起任何网络请求。你唯一「交出去」的东西是内购付款—— 那笔交易由 Apple 及其账务体系处理,开发者拿不到你的付款信息。

我们收集哪些信息

我们没有收集任何信息,也没有能力收集。下面是 App 在你设备上本地处理的数据, 以及为什么它们不会离开你的设备:

数据 处理方式 说明
游戏进度
(灵蕴、里程、精怪、卡牌、图鉴、战报等)
仅本机 以 JSON 存档形式保存在 App 的沙盒 Documents 目录,不上传。卸载 App 即随沙盒一并删除。
设备内生成的玩家身份
(Ed25519 密钥对)
仅本机 私钥保存在 iOS Keychain(标记为「仅本设备、首次解锁后可用」,不参与 iCloud 备份),公钥随卡牌数据在点对点直连时传给对方设备用于验签。私钥永不离开本机、永不上传。
设备内生成的标识符
(16 位随机数)
仅本机 用于生成地图与遭遇的随机种子,不是 IDFA / IDFV / 广告标识符,不用于追踪,也不出设备。
位置、步数、气压(海拔) 系统权限 · 内存 经你授权后由 iOS 提供,只在本机内存中参与图层投影、物池计算与判位,不写入存档、不上传、不存储、不用于制作地图。见下方「权限」。
内购收据 Apple 账务 由 Apple 的 StoreKit 处理。App 只从系统读取「是否已解锁」这一个布尔值来自我方服务器校验,不接触你的付款方式、姓名、账单地址。开发者看不到你的订单。

由于我们不收集信息,没有任何数据可供我们使用、分析、共享或出售, 也不存在向第三方披露的情形。

权限用途

本 App 仅在下列情形请求系统权限,每一项都在弹窗里说明了「只在本机使用、不上传」:

权限用途
定位(使用 App 时)把你所在位置映到山海图卷上,判断你在哪一格、该格有什么。
运动与健身读取步数与气压高程,判断你正在行走、奔跑还是静止(影响灵蕴累积与遇敌判定)。
蓝牙与附近你自己选择连接的设备点对点直连,进行切磋、异兽交换与社区见证。不经过任何服务器。
本地网络发现并直连你主动连接的附近设备。设备之间点对点直连,不经过我们的服务器。

你可以在 设置 → 隐私与安全性 中随时撤销这些授权。 撤销后 App 仍可游玩,只是地图定位、计步与联机功能不可用。 本 App 没有后台定位,也不读取通讯录、相册、麦克风、相机。

点对点连接(蓝牙 / 本地网络)

本 App 的「交换异兽」与「社区见证」功能通过蓝牙与本地网络在两台设备之间直接通信。 这些连接不经过任何服务器,因此我们看不到、也收不到任何交换内容。

连接由你主动发起并逐次确认:只有在交换页选定了要送出的精怪、并在对方设备上 看到你的公钥与签名、且双方都确认后,数据才会传输。传输的内容是卡牌数据、公钥与数字签名, 不包含你的位置、身份信息或联系方式。

本 App 未启用「家人共享」:内购项目在 App Store Connect 中 设置为不可家庭共享,因此一笔购买只对购买者本人有效。

数据存储与删除

内购

本 App 含一项一次性解锁型内购(非消耗型),不涉及订阅、自动续期或周期扣款。 所有付款由 Apple 的 StoreKit 处理;我们既不接收也不存储你的付款信息。 App 内提供「恢复购买」入口,符合 App 审核指南 3.1.1。

内购的解锁状态会以一个布尔标记随存档保存在本机,作为离线缓存, 以便你在无网络时仍能使用已解锁功能。App 启动时会与 App Store 核对一次, 以确保你的权益在换设备或重装后自动恢复。

第三方服务

本 App 不包含任何第三方 SDK,不集成分析统计、广告追踪或崩溃上报服务。 代码仅依赖 Apple 系统框架(Foundation、SwiftUI、Core Location、Core Motion、StoreKit、Metal)。 唯一的第三方服务是 Apple 的应用内购买支付,其隐私处理适用 Apple 隐私政策。

儿童隐私

本 App 不收集任何个人信息,因此不面向儿童收集任何个人数据, 也不会有意向儿童收集信息。若你是监护人并担心孩子进行了购买,可通过 Apple 家人共享 或 设置中的购买限制加以约束。

本政策的变更

若未来版本变更数据处理方式(尤其是新增网络请求、收集数据或接入第三方 SDK), 我们会在本页面更新说明,并在 App 内显著位置提示。本页面内容与 App 的实际行为一致; 若两者出现不一致,以 App 的实际行为为准,并请向我们反馈。

联系我们

如对本隐私政策有任何疑问、意见或发现数据处理与本政策不符的情况,请联系:


Shanhai Sport Privacy Policy

Shanhai Sport (“the App”) respects and protects your privacy. The App is a single-player, offline game. It does not collect, upload, or share any personal information — your progress, location and identity keys stay on your device, and we (the developer) cannot see them.

In short: the App has no account system, no server, and no analytics, advertising, or crash-reporting SDK. It makes no network requests whatsoever while running. The only thing that leaves your device is an in-app purchase payment, which Apple and its billing systems handle; we never receive your payment details.

What we collect

We collect nothing, and we have no ability to. Below is the data the App handles on your device, and why it never leaves:

DataHandlingWhy it stays local
Game progress (essence, mileage, creatures, cards, codex, battle logs) On-device only Saved as a JSON save file in the app’s sandbox Documents directory and never uploaded. Deleting the app removes it.
Device-generated player identity (Ed25519 key pair) On-device only The private key lives in the iOS Keychain, marked “this device only, available after first unlock,” so it is not included in iCloud backups. The public key travels with card data during direct peer-to-peer connections so the other device can verify signatures. The private key never leaves your device.
Device-generated identifier (16-digit random value) On-device only Used only to seed the map and encounters. It is not an IDFA, IDFV, or advertising identifier, is not used for tracking, and never leaves the device.
Location, step count, barometric altitude System permission · memory Provided by iOS with your permission and used only in memory for map projection, encounter tables, and position checks. Not written to the save file, not uploaded, not stored, and not used to make maps. See “Permissions” below.
In-app purchase receipts Apple billing Handled by Apple’s StoreKit. The App reads a single boolean — “is this unlocked?” — and cross-checks it with the App Store. It never touches your payment method, name, or billing address, and we never see your order.

Because we collect nothing, there is no data for us to use, analyse, share, or sell, and nothing is disclosed to third parties.

Permissions

The App requests only the following permissions, and each permission prompt states that the data is used on your device only and is never uploaded:

PermissionPurpose
Location (while using the app)Projects your position onto the map so the App knows which cell you are in and what is there.
Motion & FitnessReads step count and barometric altitude to tell whether you are walking, running, or still — this drives essence gain and encounter checks.
BluetoothConnects directly to nearby devices you choose for sparring, creature exchange, and community witnessing. No server is involved.
Local NetworkDiscovers and connects directly to nearby devices you choose. Connections are peer-to-peer and never pass through our servers.

You can revoke any of these at any time in Settings → Privacy & Security. The App still works afterwards; only the map, step, and peer-to-peer features become unavailable. The App does not request background location (there is no UIBackgroundModes location entry in its Info.plist) and does not access your contacts, photos, microphone, or camera. Location updates pause automatically when iOS determines you are stationary.

Peer-to-peer connections (Bluetooth / Local Network)

The “exchange creatures” and “community witnessing” features communicate directly between two devices over Bluetooth and the local network. These connections never pass through a server, so we cannot receive or see any exchanged data.

Every connection is initiated by you and confirmed step by step: data is transmitted only after you choose which creature to send, the other device shows your public key and signature, and both sides confirm. What travels is card data, a public key, and a digital signature — never your location, identity documents, or contact details.

The App does not enable Family Sharing: the in-app purchase is configured as not family-shareable in App Store Connect, so a purchase applies only to the buyer.

Storage and deletion

In-app purchases

The App offers one one-time unlock (non-consumable) — no subscription, no auto-renewal, no recurring charge. All payments are processed by Apple through StoreKit; we never receive or store your payment details. The App includes a “Restore Purchases” option, in line with App Review Guideline 3.1.1.

The unlock state is stored on your device as a boolean, as an offline cache, so the feature keeps working with no network. The App checks with the App Store at launch so your entitlement is restored automatically after a device change or reinstall.

Third-party services

The App contains no third-party SDKs and integrates no analytics, advertising, or crash-reporting services. The code depends solely on Apple system frameworks (Foundation, SwiftUI, Core Location, Core Motion, StoreKit, Metal). The only third party is Apple’s in-app purchase payment, whose privacy handling is covered by the Apple Privacy Policy.

Children’s privacy

The App collects no personal information, therefore it collects no personal data from children and does not knowingly gather any from them. If you are a guardian and want to limit purchases, use Apple Family Sharing or purchase restrictions in system settings.

Changes to this policy

If a future version changes how data is handled — especially if it adds network requests, data collection, or third-party SDKs — we will update this page and surface the change prominently in the App. The content of this page matches the App’s actual behaviour; if they ever disagree, the App’s actual behaviour governs, and please let us know.

Contact

Questions, concerns, or a discrepancy between this policy and the App’s behaviour?