← 返回 午夜电台:最后一次播音 — Midnight Frequency
最后更新:2026年10月30日

隐私政策

午夜电台:最后一次播音 — Midnight Frequency(https://midnight-frequency.gamestrategists.com)

一句话

这是一款单机解谜游戏,不是一个需要您的账号的服务。本站不要求注册,不索取邮箱、手机号、定位或任何能认出您是谁的信息。您走到第几章、解开哪道题、听过哪几段回声,全部只存在您自己浏览器的 localStorage 里;服务器端没有副本,我们读不到,也无法代为恢复。

连"提交答案"这一步都不经过网络:九个谜题的答案就写在游戏的数据文件里,您在检索框里打的词是在您这一边比对的,比对完就丢弃。九道题、三十条线索、八段夜录、四个结局——这些数字来自本作自己的数据文件,不是宣传语。

进度存在哪一格

一周目的进度写在 midnight-frequency-save 这一个键里,七个字段就是游戏为了接着往下走所需要的全部:当前屏幕、章节序号、已解开的谜题、拿到的线索、结局、界面语言、待播的换幕。

写出去的那一份外面套了一层校验:{ body, sum },sum 是对 body 的 FNV-1a 指纹。读回来先验校,再逐字段核对——谜题与线索只认登记表里真存在的 id,章节序号必须在范围内,屏幕状态和手上的牌对不上就往"还能继续玩"的方向收。被手改过的档因此会被拦下、退回开局,而不是读出半坏的进度;更早版本那种没有外壳的裸档会被收编成本版格式,不丢进度。这个校验只用来判断"档有没有被改过",不用于任何安全目的,也证明不了是您存的。

另外四个键,以及它们为什么不跟着存档一起清

这四件刻意和存档分开放,理由很实际:标题屏那个「重新开始」只清 midnight-frequency-save。想补听另外三个结局的人,不必被迫从序章重玩一遍;已经截获的夜录也不该因为重开一次就被抹掉。

要全部清掉有三条路

其一,标题屏的「重新开始」(只清这一周目的进度,回声与夜录留着);其二,在浏览器里清除本站点的站点数据,那会把上面五个键一起带走;其三,用不保留本地数据的隐私模式打开,关掉窗口即空。三条路之外没有任何地方还有第二份——我们手上没有备份,也没有能替您恢复的东西。

广告

本站加载 Google AdSense 的广告脚本。是否展示广告、展示什么广告,由 Google 按它自己的政策决定;广告请求会访问 pagead2.googlesyndication.com、googleads.g.doubleclick.net 与广告质量端点 ep1.adtrafficquality.google、ep2.adtrafficquality.google。Google 及其广告供应方可能使用 cookie 或类似标识符(例如 DSID)来投放、限制和衡量广告,也可能依据您在其他网站上的浏览历史投放个性化广告。

您可以:在 Google 广告设置 关闭个性化广告;在 aboutads.info 查阅各供应商的 cookie 说明与退出方式;或者直接在浏览器里阻止、清除第三方 cookie。这些选择不影响游戏能不能通关,只是广告会变得没那么相关。标题屏那段开场告示里有一个「我已阅读上述提示,自愿进入这段虚构体验」——那确认的是题材本身,不是对广告或个人数据的同意;本站页面不自绘一个数据同意弹窗,广告相关的选择权在上面那两个入口和您的浏览器设置里。托管与测量这一侧的说明见下面两节。

声音、画面与那张记录卡都在您这一边算

本作没有一个音频文件需要下载,全部声音是用 Web Audio 在您机器上现场合成的:一段两秒的棕噪声循环过一道低通滤波器,当作空频道的底;幕越往后滤波器开得越大——第一幕 850 Hz、第二幕 1150 Hz、第三幕 1500 Hz,到结局「空白母带」又收回到 480 Hz、整体音量倍率压到 0.06,其余三个结局留在 1200 Hz 上下。氛围声的整体音量是 0.055,大约 -25 dB,只是"房间的底",压不过文本。答对答错、换幕扫频那些交互音由振荡器与 0.2 秒的噪声爆发合成。音频上下文在您第一次点「开始游戏」之后才创建,绝不抢跑浏览器的自动播放策略;不支持 Web Audio 的环境里这些调用一律安全降级成空操作,游戏照常能玩。

把声音关掉就是真的静音。唯一的例外是摩斯码那一段:它是解谜线索本身,您按下播放键已经是一次显式请求,所以它照播。

站内所有图片——标题屏那张控制室、章节图、档案照片——都从 midnight-frequency.gamestrategists.com 自己发出;排版用系统字体栈,不向第三方取字体。结局那张「收听记录卡」同样在您本机画成:canvas 现场绘出 1200×630 的 PNG,转成 blob 之后交给浏览器的下载动作。卡片只列四个结局的名称与接收日期(没听过的显示"未接收"),不含任何一段结局的正文。如果您用系统的分享面板(navigator.share)或复制链接,那份文字与地址是从您这一侧发出去的,本站不接收、不记录。

服务器那边看到什么

页面由 Cloudflare 分发并提供安全防护。Cloudflare 会按常规记录访问请求(路径、时间戳、User-Agent 摘要),用于保障服务可用与抵御滥用;那是托管平台的常规日志,不是本站另建的库。另外每一份 HTML 都带着托管平台注入的网站分析脚本(static.cloudflareinsights.com 的 beacon),它只向 Cloudflare 上报聚合的访问量与页面性能指标——实测里那一次上报是 /cdn-cgi/rum 这个请求——不写 cookie、不收集身份信息,本站也读不到它的逐访客明细。这两件事都由 Cloudflare 按自己的政策处理,见 Cloudflare 隐私政策。

本站自己的那部分服务只做一件事:把请求原样交给静态文件。这里没有账号、没有会员、没有留言与评论区、没有表单、没有站内搜索后端,也没有一块供本站写数据的服务器端存储——所以除了上面那两类,没有第三件"服务器知道的事"可以告诉您。语言由地址决定:/ 是中文、/en/ 是英文,两页都是产物里的真文件;切换语言改的是地址栏,不是某个偏好开关。

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

2026-10-30 用真实浏览器打开本站的 /、/en/、/privacy、/about,每页停留七到十秒,把全部出站请求与浏览器里的 cookie 逐条记下,一共跑了五轮。五轮都一样的是:除广告与 Cloudflare 统计之外,页面只向本站自己发请求——文档本身、一个 JS、一个 CSS、标题屏那一张图片,加上 beacon 自己那一次上报。

广告那一侧每轮走到哪一步并不相同,所以这里分开写:pagead2.googlesyndication.com 每轮都在;googleads.g.doubleclick.net 在五轮里出现四次;ep1 与 ep2.adtrafficquality.google、www.google.com 只在其中三轮出现过。五轮里由本站自己写入的 cookie 一个都没有,唯一出现过的 test_cookie 属于 .doubleclick.net,是广告方的探针,同样不是每轮都有。两张说明页(/privacy、/about)压根不加载广告脚本,实测只有本站与 beacon 两个主机。

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

儿童与题材

本作的题材是 1998 年洪水夜里一座电台的最后几次播音,属悬疑与恐怖基调,不面向十三岁以下儿童,也不向任何年龄层的玩家索取身份信息或联系方式。广告的投放与个性化由 Google 按其政策处理;家长可以用「广告」那一节的两个入口关闭个性化广告。

这是谁的项目,怎么联系

本站是独立开发者 alphaBETA DEV(GameStrategists)的个人项目:没有账号系统,没有可以被调取的个人档案,也没有能针对某一个人关掉的开关。对这份政策有疑问,或想行使访问、更正、删除请求,写信到 privacy@gamestrategists.com。

本页正文改动时,上方「最后更新」的日期会一起改准——那个日期取自这一页正文在版本记录里最后一次真正被改动的日子,不是手写的。


Last updated: 30 October 2026

Privacy Policy

Midnight Frequency (https://midnight-frequency.gamestrategists.com)

In one line

This is a single-player puzzle game, not a service that needs an account about you. We never ask you to register and never ask for an e-mail address, phone number, location or anything that identifies who you are. Which chapter you reached, which puzzles you solved and which echoes you have heard live only in your own browser’s localStorage. There is no copy on a server, we cannot read it, and we cannot restore it for you.

Even "submitting an answer" never goes over the network: the solutions to all nine puzzles sit in the game’s own data files, and what you type into the search box is matched on your machine and then discarded. Nine puzzles, thirty clues, eight night recordings, four endings — those figures come from this game’s data files, not from marketing copy.

Where the progress lives

One playthrough is written to a single key, midnight-frequency-save, whose seven fields are exactly what the game needs to pick up where you left off: the current screen, the chapter index, the puzzles solved, the clues held, the ending, the interface language, and the act transition waiting to play.

What gets written is wrapped as { body, sum }, where sum is an FNV-1a digest of body. On load the digest is checked first and every field is then verified individually: puzzle and clue entries are only accepted if those ids exist in the register, the chapter index must fall in range, and if the screen state contradicts the cards in hand it is pulled toward "still playable". A hand-edited save is therefore rejected and starts you fresh rather than half-loading something broken; a bare save from an older version is adopted into the current format without losing progress. That digest exists only to tell whether the file was tampered with — it serves no security purpose and cannot prove who stored it.

The other four keys, and why “Restart” does not clear them

  • mf-endings — which echoes this device has heard. One date per ending, taken from the day on your calendar rather than from Coordinated Universal Time: someone who finishes in the small hours should not be written down as "yesterday".
  • mf-night-log — which of the eight intercepted night recordings this machine has caught. Registered ids only, as well.
  • mf-audio — two values only, on or off, recording your choice about sound.
  • arg-intro-midnight-frequency — records nothing but "you have already seen the opening", which decides whether it appears again.

These four are deliberately kept apart from the save file. The “Restart” control on the title screen clears midnight-frequency-save and nothing else: someone going back for the other three endings should not be forced to replay from the prologue, and recordings you already intercepted should not vanish because you started a new run.

Three ways to erase it all

One, “Restart” on the title screen — that clears only this run, keeping the endings and night log. Two, clear site data for this domain in your browser, which takes all five keys with it. Three, open the site in a private mode that does not keep local data, and it is gone when the window closes. Beyond those three there is no second copy anywhere: we hold no backup and have nothing that could restore it for you.

Advertising

The site loads the Google AdSense ad script. Whether an ad appears and which one appears is Google’s decision under its own policy. Ad requests go to pagead2.googlesyndication.com and googleads.g.doubleclick.net, and to 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, limit and measure ads, and may serve personalised ads based on your browsing history on other sites.

You can turn personalised advertising off in Google ad settings, read the vendor cookie explanations and opt-outs at aboutads.info, or block and clear third-party cookies in your browser. None of these choices affect whether the game can be finished; the ads simply become less relevant. The opening notice on the title screen ends with “I have read the notice above and consent to enter this fictional experience” — that confirms the subject matter, not consent to advertising or to personal-data processing. This page does not put up its own data-consent dialog; the ad choices are the two links above and your browser settings. The hosting and measurement side is described in the next two sections.

The sound, the pictures and the record card are all computed on your side

Not one audio file is downloaded: every sound is synthesised on your machine with Web Audio. A two-second loop of brown noise runs through a low-pass filter as the hiss of an empty channel; the filter opens as the acts advance — 850 Hz in act one, 1150 Hz in act two, 1500 Hz in act three — and for the “Blank Tape” ending it closes back to 480 Hz with the overall gain factor at 0.06, while the other three endings stay around 1200 Hz. The ambience sits at a level of 0.055, roughly -25 dB: the floor of the room, never louder than the text. Correct and wrong answers and the sweep between acts are oscillators and 0.2-second bursts of noise. The audio context is not created until you press “Start”, so it never jumps ahead of the browser’s autoplay policy, and where Web Audio is unsupported every call degrades quietly to a no-op and the game plays on.

Muting means silence, with one exception: the Morse passage is a clue in its own right, and pressing play is already an explicit request from you, so it still sounds.

Every image in the game — the control room on the title screen, the chapter art, the archive photographs — is served from midnight-frequency.gamestrategists.com itself, and the layout uses the system font stack rather than a third-party webfont. The “listening record” card you get at an ending is drawn on your machine as well: a canvas renders a 1200×630 PNG, converts it to a blob and hands it to the browser’s download. The card lists only the names of the four endings and the dates you received them (unheard ones read “not received”), and never any ending text. If you use your system’s share sheet (navigator.share) or copy the link, that text and address leave from your side; this site receives and records nothing.

What the server side sees

Pages are delivered and protected by Cloudflare, which keeps routine request logs (path, timestamp, a digest of the user agent) to keep the service running and to block abuse — that is the hosting platform’s ordinary logging, not a database this site built. Every HTML response also carries the platform’s web-analytics beacon from static.cloudflareinsights.com, which reports aggregate page-view and page-performance metrics to Cloudflare only; in the measurements below that report is the /cdn-cgi/rum request. It sets no cookie, collects no identifying data, and we cannot read its per-visitor detail. Both of these are handled by Cloudflare under its own policy — see the Cloudflare Privacy Policy.

Our own piece of the service does exactly one thing: hand the request to the static file. There is no account, no membership, no comments, no forms and no server-side search backend here, and no server-side storage this site writes to — so apart from those two categories there is no third thing "the server knows" that we could tell you about. The language follows the address: / is Chinese, /en/ is English, and both are real files in the build. Switching language changes the address bar, not a preference switch.

Third parties: measured, not assumed

On 30 October 2026 a real browser opened /, /en/, /privacy and /about here, left each page for seven to ten seconds and recorded every outbound request and every cookie in the browser — five runs in total. What was the same in all five: apart from advertising and Cloudflare’s measurement, the page only sends requests to this site itself — the document, one JS bundle, one CSS file, the one title-screen image, plus the beacon’s own single report.

The advertising side does not get equally far in every run, so it is written separately: pagead2.googlesyndication.com appeared in all five runs, googleads.g.doubleclick.net in four, and ep1 / ep2.adtrafficquality.google and www.google.com in three of them. In those five runs this site itself wrote no cookie at all; the only one seen, test_cookie, belongs to .doubleclick.net — an ad-side probe, likewise not present in every run. The two information pages (/privacy, /about) do not load the ad script: the measurement saw only this site and the beacon there.

Aside from those two, the site runs no Google Analytics or other first-party analytics, loads no Google Fonts and has no social plugins. If another service is ever introduced, this page is corrected before it goes live.

Children and subject matter

The game is about the last broadcasts of a radio station during the 1998 floods, and is written in a suspense-horror register. It is not directed at children under 13 and asks no player of any age for identity details or contact information. Ad serving and personalisation are handled by Google under its own policies; a parent can switch personalised ads off through the two links under “Advertising”.

Whose project this is, and how to reach it

This site is the personal project of an indie developer, alphaBETA DEV (GameStrategists): there is no account system, no file of personal data that could be pulled up, and no switch that could be thrown against one particular person. Questions about this policy, and any request to access, correct or delete, should go to privacy@gamestrategists.com.

When the text of this page changes, the “Last updated” date above changes with it — that date is taken from the day this page’s text was last actually revised in version control, not typed in by hand.