| 简体中文 | English |
山谷是一个离线也能玩的放置小游戏。你不必注册、不必填邮箱、不必授权相机、定位、麦克风等系统权限就能开始。 为减少换设备或清理浏览器数据造成的存档丢失,游戏首次联网启动时会静默创建匿名云账号,并自动上传游戏进度;这一过程不会弹出注册表单,也不需要邮箱。 如果首次启动时没有网络,游戏仍可离线游玩,并会在后续联网启动时再次尝试接入云存档。
整个游戏只往云端写三样东西,多一样都没有:
| 数据 | 何时产生 | 存在哪里 |
|---|---|---|
| 游戏进度 | 首次联网启动会自动上传,之后每次同步时更新(天数、资源、背包、装饰、信件等) | 你的设备(本机)+ Supabase 云端 |
| 邮箱地址 | 仅当你主动点击「绑定邮箱」并输入时 | Supabase 云端账号 + 本机 |
| 匿名标识 | 首次联网启动时由系统自动创建匿名云账号并分配一串随机 ID | Supabase 云端账号 + 本机 |
此外会写一行极简的「今日留存」记录:匿名标识 + 日期 + 游戏天数,
用来统计「有多少人今天回了山谷」。除此之外没有任何埋点。
我们不出售数据,不共享给第三方做营销,不做用户画像。
为保护本机进度,首次联网启动会自动创建匿名云账号并上传存档。你可以在任何时候关闭它(游戏内「我的 → 数据与备份 → 关闭云同步」)。关掉之后进度只留在这台设备上,照样能玩,我们也不再往云端写任何东西;除非你以后再次主动开启。
匿名账号的 ID 是一串随机数,不含姓名、邮箱等直接身份信息。哪天你想跨设备找回存档,可以主动绑定真实邮箱;邮箱不会在静默上云阶段收集。
云数据存放在 Supabase 提供的云服务(数据库采用行级安全策略,只有账号本人能读写自己那一行)。 只要你的账号还在,数据就一直在 —— 没有设定「X 天后自动删除」。
我们不会主动删除你的云数据,也没有设定任何「自动过期」期限。唯一的例外是:如果你要求删除(见上一节),删了就是真的删了。
自己动手,一分钟搞定:
也可以直接发邮件联系我们,我们会在收到后的合理时间内处理删除请求。
联系我们 / 处理数据删除:
📮 fisha.yelu@gmail.com
运营主体:叶露(个人开发者)
(接收隐私与数据删除请求;请通过此邮箱联系,我们会在 15 个工作日内处理)
山谷不面向儿童,也没有任何适合儿童的内容或收集行为。16 岁以下的使用者请在监护人指导下使用,并建议在绑定邮箱前先征得同意。
除了上面提到的 Supabase(云存档与账号),我们的 App 没有集成任何其他第三方服务 —— 没有广告平台、没有统计 SDK、没有客服系统。Supabase 作为数据处理者受其自身服务条款约束。
如果这项政策有实质修改,我们会在 App 内或本页顶部更新,并调整生效日期。如果变更涉及新的数据种类、处理目的或依法需要重新取得同意的事项,我们会在相关处理开始前另行告知,并按适用要求征得同意。
Echoing Valley is an idle game that remains playable offline. You can start without entering an email address or granting system permissions such as camera, location, or microphone access. To reduce save loss when changing devices or clearing browser data, the game silently creates an anonymous cloud account on its first online launch and automatically uploads game progress. No registration form or email is required. If the first launch is offline, the game remains playable and retries cloud setup on a later online launch.
The game writes exactly three things to the cloud — nothing more:
| Data | When | Stored |
|---|---|---|
| Game progress | Automatically uploaded on the first online launch, then updated on each sync (days, resources, inventory, decor, letters, …) | Your device + Supabase cloud |
| Email address | Only when you tap “Bind email” and type it | Supabase auth + this device |
| Anonymous ID | Random ID assigned when an anonymous cloud account is created on the first online launch | Supabase auth + this device |
One more tiny row is written for retention stats: anonymous ID + date +
game day. That is the only telemetry in the entire app.
We do not sell your data, not share it for marketing, and do no profiling.
To protect local progress, the game creates an anonymous cloud account and uploads the save on the first online launch. You can turn it off at any time (in-app “Me → Data & backup → Turn off sync”). After that, progress stays on this device, the game remains playable, and nothing else is written to the cloud unless you later enable it again.
The anonymous account ID is a random string and does not contain a real name, email address, or other direct identity information. You may later bind an email to recover the save on another device; no email is collected during silent cloud setup.
Cloud data is hosted by Supabase, whose database enforces row-level security: only the account owner can read or write their own row. Data stays for as long as your account exists — there is no automatic “delete after N days”.
We do not delete your cloud data on our own, and there is no “expires after N days” rule. The one exception is a deletion you request yourself (see the section above) — that one is permanent.
You can do it yourself in about a minute:
You may also email us and we will process the deletion request within a reasonable time.
Contact us / data deletion requests:
📮 fisha.yelu@gmail.com
Entity: Ye Lu (individual developer)
(Privacy and data-deletion requests: reply within 15 business days.)
The game is not directed at children and collects nothing aimed at children. Users under 16 should use the app with a guardian and should ask before binding an email address.
Apart from Supabase (cloud save and accounts), no other third-party service is integrated into the app — no ad network, no analytics SDK, no support chat. Supabase acts as a data processor under its own terms.
If this policy changes materially, we will update it here and in the app and refresh the effective date. If a change introduces a new data category or purpose, or applicable rules require renewed consent, we will provide notice before that processing begins and request consent where required.