← 返回 沉没之城 — The Sunken City
最后更新:2026年10月31日

隐私政策

沉没之城 — The Sunken City(https://sunken-city.gamestrategists.com)

一句话

这是一款单机解谜游戏,不是一项需要您账号的服务。本站不要求注册,不索取姓名、邮箱、手机号或定位,也不把您的进度存在我们那儿。您走到第几幕、翻过哪几封信、拿到哪些线索、在记事本里敲了什么,全都只留在您自己这台设备的浏览器里。

本站由 alphaBETA DEV(GameStrategists)运营。关于这一页的任何疑问,写信到 privacy@gamestrategists.com 就行——这个地址不会收到我们的群发:本站没有接入任何发件系统,回信是人写的。

本机只写三个键,各管一件事

进度写在 sunken-city-save 这一个键里。为了让您关掉标签再回来还能接着玩,游戏需要的信息就是那十项:所在地点、当前页码、读过的邮件、拿到的线索、解开的谜题、翻过的页面、第几幕、哪个结局、您记事本里那段话,以及界面语言。除此之外它不往里写别的。

另外两个键各管一件独立的事:arg-audio-sunken-city 只存一个值,环境音是静音还是开着;gs_achievements 存您在结局画面上拿到的那枚徽章(作品、结局名与达成日期),好让下一次结算时把它画出来。

打开站点本身一个键都不写。2026-10-31 用真实浏览器把 /、/en/、/privacy、/about 各开七秒、连跑五轮,localStorage 的五轮读数全是空的——只有您真的开始游戏、按过静音、走到结局,键才出现。

读到坏档会怎样

读回来这一步套了 try/catch:那串 JSON 解析不了,就当作没有存档,从标题屏开始;解析成功但某个字段缺了,各字段取自己那个默认值(旅馆、lodge-main、空列表、第 0 幕、还没有结局、空白的记事本)。

这一页故意不写「我们有校验机制保护您的数据」那种漂亮话:本作没有校验和,也没有服务器重试。坏档的处置是从头开始,而不是把您没写完的东西发到哪儿去再看一遍。

「重新开始」清掉什么、不清掉什么

标题屏那个「重新开始」只删 sunken-city-save 这一个键。已经拿到的结局徽章和您那个静音偏好留着——想补走另外几条结局的人,不必被迫从第一幕重玩一遍。

要全部清掉有三条路:其一,上面那个「重新开始」(只清这一周目的进度);其二,在浏览器里清除本站点的站点数据,三个键一起带走;其三,用不保留本地数据的隐私模式游玩,关掉标签就没有了。

提交答案与站内检索都不经过网络

十五道题的答案就写在游戏自己的数据文件里。您在输入框里敲的那串字符,是在浏览器里去掉首尾空格、转成小写之后跟答案表比的,比完就丢弃,没有一次为「验证答案」而发出的请求。有一道题要您按自己数到的东西现算出答案,那段计算同样在您这一边跑。

全站检索是对着一份 88 条的本地索引查的(英文另有别名表),没有搜索后端、没有查询日志。

游戏运行时不会向本站发送任何数据:没有 fetch、没有 XMLHttpRequest、没有 sendBeacon、没有 WebSocket,也没有表单可以提交。您在浏览器自带的网络面板里能看到的出站请求,只有本站自己的文件与「第三方清单」那一节点名的两家——没有第三种。本站自己那部分服务则只做一件事:把请求原样交给静态文件。

声音、画面与字体都在您这一边算

本作没有一个音频文件需要下载,全部声音是用 Web Audio 在您机器上现场合成的:一段三秒的棕噪声循环过一道 460 Hz 的低通滤波器当海堤的底,三条持续音落在 55 / 82.5 / 110 Hz,一个 0.055 Hz 的低频振荡器把滤波器的截止频率来回推,每 13–27 秒随机响一次浪、雾角或海鸥。

那块音频引擎只在您第一次按下鼠标或键盘之后才创建。没有那一次手势,本站连一个音频节点都不会存在,也不会因此向您要任何权限。

站内所有图片都放在本站自己的 /images/ 目录下(当前产物里 29 个文件),全部从 sunken-city.gamestrategists.com 发出,不向第三方取图。本站不加载 Google Fonts,排版用的是系统字体栈。本站产物里没有 service worker,也就是说没有一份会在您机器上长期驻留的离线副本。

广告

本站加载 Google AdSense 的广告脚本。是否展示广告、展示什么广告,由 Google 按它自己的政策决定;本作的页面上没有手工预留的广告版位——我们不在 data-ad-slot 里填假值,版位要么真在投放,要么干脆不写。

广告请求会访问 pagead2.googlesyndication.com 与 googleads.g.doubleclick.net,以及广告质量端点 ep1.adtrafficquality.google、ep2.adtrafficquality.google。Google 及其广告供应方可能使用 cookie 或类似标识符(例如 DSID)来投放与衡量广告,也可能依据您在浏览器中的浏览历史投放个性化广告。

您可以:在 Google 广告设置 关闭个性化广告;在 aboutads.info 查阅各供应商的 cookie 说明与退出方式;或者直接在浏览器里阻止、清除第三方 cookie。

只有游戏页会发广告请求。同一次实测里,/ 与 /en/ 各向 6 个主机发出请求,而这张页和 /about 只有 2 个(本站自己,加上下一节那个统计 beacon),并且不落任何 cookie。

服务器那边看到什么

页面由 Cloudflare 分发并提供安全防护。Cloudflare 会按常规记录访问请求(路径、时间戳、User-Agent 摘要与由 IP 派生的粗略地理信息),用于保障服务可用与抵御攻击;这件事由 Cloudflare 按自己的政策处理,本站读不到那份记录,也没有一份副本存在我们这里。

本站没有账号、没有会员、没有供玩家互相留言的评论区、没有可以提交给服务器的表单、没有站内搜索后端(检索在浏览器里跑,见上面那一节),也没有一块供本站写数据的服务器端存储——部署配置里只有静态资源那一项绑定,没有 KV、没有数据库、没有对象存储。游戏里那座论坛属于作品本身:它是一段写好的虚构文本,既不接收任何人的投稿,也不会把您读到的内容发出去。

第三方清单:这一页是量出来的,不是抄来的

2026-10-31 用真实浏览器打开 /、/en/、/privacy、/about,每页停留七秒,连续五轮,把全部出站请求与浏览器里的 cookie 逐条记下。五轮的读数一致,没有一轮多出一个主机:

除这两项之外,本站没有 Google Analytics 一类的站方统计,不加载 Google Fonts,没有社交插件、没有像素、没有再营销脚本。若以后接入新的第三方服务,会先把这一页改准再上线。

儿童与题材

本作的题材是深海恐怖推理:一名自由记者带着外婆的铜钥匙回到一座沉没的老城,追查 1962 年那场七人事故。它不面向十三岁以下儿童,也不向任何年龄层的玩家索取身份信息或联系方式。广告的投放与个性化由 Google 按其政策控制;本站不掌握任何儿童名单,也没有可以按年龄筛掉的功能——因为我们不持有任何访客档案。

这是谁的项目,怎么联系

本站是独立开发者 alphaBETA DEV(GameStrategists)的个人项目:没有账号系统,没有可以被调取的个人档案,也没有能针对某一个人关掉的开关。

隐私相关的问题请写信到 privacy@gamestrategists.com;一般联系与技术故障走 联系我们 那一张页。本页正文改动时,上方「最后更新」的日期会一起改准——那个日期取自这一页正文在版本记录里最后一次真正被改动的日子,不是手写的。


Last updated: 31 October 2026

Privacy Policy

The Sunken City (https://sunken-city.gamestrategists.com)

In one sentence

This is a single-player puzzle game, not a service that needs an account from you. We do not ask you to register and we do not ask for your name, e-mail address, phone number or location, and we do not keep your progress anywhere in our cloud. How far you have got, which letters you have read, which clues you hold and what you typed into the notebook all stay in the browser on your own device.

This site is run by alphaBETA DEV (GameStrategists). Any question about this page can go to privacy@gamestrategists.com — no marketing will ever come back from that address: it is not wired to any sending service, and replies are written by hand.

Three keys on your machine, each doing one job

Your progress lives in one key, sunken-city-save. Everything the game needs so you can close the tab and come back is those ten fields: the site you are on, the page you are reading, the e-mails you have opened, the clues you have collected, the puzzles you have solved, the pages you have turned, the act you are in, the ending you reached, the text in your notebook, and the interface language. Nothing else goes in there.

The other two keys each do something separate: arg-audio-sunken-city stores one value only — whether the ambience is muted or on; gs_achievements stores the badge you earn on the ending screen (the work, the ending’s name and the date it was reached) so it can be drawn again at the next settlement.

Loading the site writes nothing at all. On 2026-10-31 a real browser opened /, /en/, /privacy and /about for seven seconds each, five rounds running, and localStorage read back empty in every round. The keys only appear once you actually start playing, press mute or reach an ending.

What happens to a damaged save

Reading the save back is wrapped in try/catch. If that JSON cannot be parsed, the site behaves as if there were no save and starts from the title screen; if it parses but a field is missing, each field falls back to its own default (the lodge, lodge-main, empty lists, act 0, no ending, a blank notebook).

This page deliberately avoids the handsome sentence “we protect your data with checksums”. There is no checksum and no server-side retry here. A damaged save is handled by starting over — not by sending what you had not finished somewhere else to look at it again.

What “Start over” clears, and what it leaves alone

The “Start over” button on the title screen deletes one key only, sunken-city-save. Badges you already earned and your mute preference stay where they are — nobody who wants to reach the other endings has to replay the whole game from act one.

There are three ways to clear everything: that “Start over” button (this playthrough only); clearing site data for this site in your browser, which takes all three keys with it; or playing in a private mode that keeps no local data, where closing the tab is the wipe.

Checking an answer and searching the archive both stay offline

The answers to the fifteen puzzles are written in the game’s own data files. The string you type is compared on your machine — trimmed, lower-cased, matched against that table — and then thrown away. Not one request is made “to verify an answer”. One puzzle asks you to work its answer out from something you have to count yourself, and that arithmetic runs on your side too.

The site search reads a local index of 88 entries (with a separate alias table for English). There is no search backend and no query log.

While the game runs, nothing is sent to us: no fetch, no XMLHttpRequest, no sendBeacon, no WebSocket, and no form that could be submitted. Open your browser’s own network panel and the outbound requests you will find are the site’s own files plus the two parties named in “The third-party list” section — nothing third. Our server-side part does exactly one thing: it hands the request to the static files.

Sound, pictures and fonts are computed on your side

Not one audio file has to be downloaded: the whole soundscape is synthesised with Web Audio on your machine. A three-second brown-noise loop runs through a 460 Hz low-pass filter as the sea-wall bed; three drones sit at 55 / 82.5 / 110 Hz; a 0.055 Hz oscillator pushes the filter’s cutoff back and forth; and every 13–27 seconds a wave, a foghorn or a gull lands at random.

The audio engine is only created after your first mouse press or key press. Without that gesture not a single audio node exists — and the site never asks you for a permission to get one.

Every image on the site lives under this site’s own /images/ directory (29 files in the current build) and is served from sunken-city.gamestrategists.com itself; we take no images from third parties. This site does not load Google Fonts — the typography uses the system font stack. There is no service worker in this build, so there is no offline copy that would sit on your machine long-term.

Advertising

This site loads the Google AdSense ad script. Whether ads appear, and which ones, is decided by Google under its own policy. The game screens carry no hand-placed ad slot — we never write a placeholder into data-ad-slot: a slot either genuinely serves or is not written at all.

Ad requests go to pagead2.googlesyndication.com and googleads.g.doubleclick.net, plus the ad-quality endpoints ep1.adtrafficquality.google and ep2.adtrafficquality.google. Google and its ad vendors may use cookies or similar identifiers (for example DSID) to serve and measure ads, and may serve personalised ads based on your browsing history in the browser.

You can: switch off personalised ads in Google ad settings; read the cookie explanations and opt-out routes at aboutads.info; or block and clear third-party cookies directly in your browser.

Only the game pages make ad requests. In the same measurement run, / and /en/ sent requests to 6 hosts each, while this page and /about touched 2 (the site itself plus the analytics beacon in the next section) and set no cookie at all.

What the server side sees

The pages are distributed and protected by Cloudflare. Cloudflare logs requests as a matter of course (path, timestamp, a User-Agent summary and coarse geography derived from the IP address) in order to keep the service available and fend off attacks; that handling follows Cloudflare’s own policy. We cannot read that log, and we keep no copy of it.

This site has no accounts, no membership, no comment section where players could write to one another, no form that submits anything to a server and no search backend (the archive search runs in the browser — see the section above). There is no server-side storage that our own code could write to: the deployment configuration binds static assets only — no key-value store, no database, no object storage. The forum inside the game belongs to the work itself: it is a piece of written fiction that takes no submissions and sends out nothing you read.

The third-party list: measured, not copied from a template

On 2026-10-31 a real browser opened /, /en/, /privacy and /about, held each page for seven seconds, five rounds running, and every outbound request and every cookie in the browser was written down. The five rounds agree; no round produced an extra host:

  • Google AdSense (pagead2.googlesyndication.com, googleads.g.doubleclick.net, ep1 / ep2.adtrafficquality.google): appears on the game pages only, present in all five rounds; the only cookie the browser ends up holding because of it is test_cookie@.doubleclick.net. Policy: Google privacy policy.
  • Cloudflare web analytics (the beacon from static.cloudflareinsights.com, reporting through /cdn-cgi/rum on this site’s own address): injected with every HTML document by the hosting platform, present in all five rounds, this page included. It reports aggregate traffic and page-performance metrics only; we get no per-visitor detail from it. Policy: Cloudflare privacy policy.

Those two aside, this site runs no first-party analytics such as Google Analytics, loads no Google Fonts, and carries no social plugins, no pixels and no remarketing scripts. If a new third-party service is ever added, this page gets corrected before it goes live.

Children and subject matter

The game is a deep-sea horror investigation: a freelance journalist carries her grandmother’s brass key back to a drowned old town, to trace the seven-person accident of 1962. It is not directed at children under 13, and it asks no player of any age for an identity or contact details. Ad serving and personalisation are controlled by Google under its own policy. We hold no list of children and have no feature that could filter by age — because we keep no visitor profile at all.

Whose project this is, and how to reach it

This site is the personal project of indie developer alphaBETA DEV (GameStrategists): no account system, no profile that could be pulled up about you, and no switch that could be turned off for one particular person.

Privacy questions: privacy@gamestrategists.com. General contact and technical trouble is on the contact page. When the text of this page changes, the “Last updated” date above is corrected with it — that date is taken from the day the text last genuinely changed in the version record; it is not typed by hand.