# Subnautica2Maps SDK-clean 合规/IP/素材复验

> 日期：2026-05-20
> 评估人：墨盾 ⚖️
> 说明：以下为业务合规与风险控制建议，不构成正式法律意见；重大上线、商标、版权或跨境经营决策请咨询执业律师。

## 一、结论先行

结论：CONDITIONAL_GO_TO_PM，BLOCK_FOR_PUBLIC_LAUNCH。

可以进入墨策 PM gate 做产品验收；不建议直接 public launch / GSC / 冷启动。

核心原因：本轮未发现“official / complete / 100% accurate”这类无依据强声明，也未观察到官方 logo、截图、地图瓦片、YouTube 缩略图本地化使用。但法律页仍是同一个 legal shell 复用到 Privacy/Terms，Terms 不成体系；域名邮箱 `hello@subnautica2maps.com` 暂无 MX 记录，不能假设可收件；YouTube 素材合同存在，但生产页当前没有实际渲染 click-to-load embed，属于实现与素材合同不一致。

## 二、P0 / P1 / P2

### P0：public launch 前必须修

1. 域名邮箱不可假设可用
   - Footer / legal 页使用 `hello@subnautica2maps.com`。
   - DNS 检查：`dig +short MX subnautica2maps.com` 无 MX 返回。
   - 风险：DMCA、隐私请求、纠错请求可能无法送达；法律页联系方式不可审计。
   - 动作：配置 Cloudflare Email Routing / Google Workspace / Resend inbound 等任一方案；至少让 `hello@subnautica2maps.com` 可收件。若要更规范，增加 `privacy@subnautica2maps.com` 和 `dmca@subnautica2maps.com`。

2. Terms of Service 不是独立 ToS
   - `/terms-of-service/` 200，但内容与 `/legal/`、`/privacy-policy/` 基本同一个 legal shell。
   - 缺少：服务使用规则、数据准确性免责、玩家工具限制、禁止抓取/滥用、知识产权归属、第三方来源、责任限制、服务变更、管辖/联系条款。
   - 动作：上线前拆成真正的 Terms 页面，不要只复用 Privacy/Legal shell。

3. Privacy Policy 深度不足
   - `/privacy-policy/` 200，但只是短段落。
   - 已覆盖：无登录、本地 localStorage、坐标不作为 raw coordinates 发给 analytics、YouTube click-to-load。
   - 缺少：运营主体、收集数据类型、Cloudflare 托管/日志、Plausible optional hook 的披露口径、数据保留、删除/联系流程、儿童/13+、EEA/CCPA 基础权利说明。
   - 动作：补完整 Privacy Policy；如果暂不加载 Plausible 脚本，可写“currently no analytics script is loaded; if privacy-friendly analytics is enabled, raw coordinates are excluded”。

### P1：本周修

1. YouTube embed 实现与素材合同不一致
   - 素材合同 `public/api/media-assets.json` 顶层字段为 `assets`。
   - 代码 `src/lib/data.ts` 只读取 `media_contract.inventory` 或 `inventory`，未读取 `assets`。
   - 生产 `/resources/silver/` 当前没有 `youtube` / `youtube-nocookie` / `iframe` 命中；浏览器初始页也无 iframe、无 cookie。
   - 这不是版权 P0，反而更安全；但与“click-to-load YouTube media”交付口径不一致。
   - 动作：二选一：A) 修 parser 读取 `assets` 并保持 click-to-load youtube-nocookie；B) 明确本轮不启用 YouTube embed，法律页删掉“may load YouTube cookies after activation”或改成“if enabled”。

2. Footer 只显示 Privacy / Terms / DMCA，但 nav 只有 Legal
   - Footer 合格；Header legal 链接较粗。
   - 动作：可保持 footer 为主；若面向正式上线，header/legal 页面内加 Privacy/Terms 明确入口。

3. 首页/生产数据口径需复核 63 vs 88
   - 数据文件 marker_count 为 63。
   - 首页 web_extract 显示 “88 seed markers / 88 markers”，可能是缓存、旧部署摘要或页面文案差异。
   - 父任务浏览器验证曾显示 “63 / 63 signals visible”。
   - 动作：前端/PM 再核一次生产首屏展示，避免 marker 数字口径不一致。

### P2：后续增强

1. Privacy/Terms 增加 Last updated 日期、Nextfield Labs LLC 运营主体、Wyoming 联系地址/邮箱口径。
2. Legal 页增加 takedown/removal SLA，例如“we review reasonable correction/removal requests within 7 business days”。
3. 对外来源页增加“facts only, rewritten summaries, no copied tiles/screenshots/icons”的公开 provenance 链接。

## 三、逐项复验

### 1. IP / 游戏素材

结论：PASS_WITH_CONSTRAINTS。

证据：
- `public/` 下仅有三个 JSON：`media-assets.json`、`index-coverage-public-reference.json`、`markers.public.v20260520.json`；未发现本地图片、官方截图、logo、地图瓦片。
- 法律页写明：不存储官方 logo、key art、screenshots、YouTube thumbnails、copied competitor tiles、copied long-form source text。
- 数据文件 legal.asset_policy 写明：No third-party map tiles, screenshots, icons, or copied descriptions included.
- 页面视觉为自制 HUD / sonar / scanner 风格；未观察到 Unknown Worlds / KRAFTON 官方视觉系统复用。

残余风险：数据来源包含 Game8 / IGN / Eurogamer / Wiki 等公开页面。当前以事实引用 + 原创描述 + source attribution 的方式处理，风险可控，但不要复制长文本、表格 UX 或地图瓦片。

### 2. Fan-made / no-affiliation disclaimer

结论：PASS。

证据：
- 首页、地图页、资源页、guide 页、legal/footer 均出现 fan-made/no-affiliation 口径。
- 标准文本：Subnautica2Maps is a fan-made player tool and is not affiliated with, endorsed by, sponsored by, or approved by Unknown Worlds Entertainment, KRAFTON, or the Subnautica franchise.
- Footer 另有商标归属：SUBNAUTICA and UNKNOWNWORLDS are trademarks or registered trademarks of Unknown Worlds Entertainment, Inc. All trademarks belong to their respective owners.

注意：disclaimer 里的 “endorsed/sponsored/approved” 是否定句，不属于违规官方关系宣称。

### 3. 强声明 / 准确性

结论：PASS。

未发现无依据的 official / complete / 100% accurate / all locations / certified / partner 正向宣称。

页面使用了安全口径：
- fan-made
- public-reference dataset
- Early Access data can change
- approximate route hints
- navigational clues, not official waypoints
- confidence/source/index policy

### 4. YouTube embed / 第三方媒体

结论：SAFE_BUT_IMPLEMENTATION_MISMATCH。

安全面：
- 初始生产页无 iframe。
- 初始生产页无 YouTube cookie。
- `/resources/silver/` HTML 中 `youtube`、`youtube-nocookie`、`iframe` 命中为 0。
- `YouTubeCard` 组件如被渲染，逻辑是按钮点击后才加载 iframe，且文案为 “Click to load youtube-nocookie guide”。

问题面：
- `media-assets.json` 顶层是 `assets`，而 `src/lib/data.ts` 没读这个字段，导致素材合同中的 YouTube 卡片未进入生产页。
- 如果 PM/设计验收预期包含 YouTube guide card，这一项未交付。

### 5. Privacy / Terms / Cookie

结论：P0 不足，不能直接 public launch。

已通过：
- `/privacy-policy/` 200。
- `/terms-of-service/` 200。
- Footer 可达 Privacy / Terms / DMCA。
- 当前无 Set-Cookie；浏览器 `document.cookie` 为空。
- 未发现 GA/Clarity/gtag/Plausible script 实际加载。
- localStorage / raw coordinates privacy 口径合理。

不足：
- Privacy/Terms 内容过薄且几乎同壳。
- Terms 缺核心条款。
- Privacy 缺运营主体、数据保留、第三方服务、权利请求、儿童限制等基础模块。
- Cookie 口径可不做 banner，因为当前未见非必要 cookie；但 Privacy 应明确 Cloudflare 技术日志/cookie 可能性。

### 6. 域名邮箱

结论：P0。

证据：
- 页面使用 `hello@subnautica2maps.com`。
- DNS MX 查询无返回。

动作：配置邮箱后再对外发布；否则将联系邮箱改成已可用邮箱，但更建议配置域名邮箱。

## 四、最终 Gate

- PM gate：GO，可以继续产品验收。
- QA gate：CONDITIONAL，QA 应把法律页和邮箱列为 public-launch blocker。
- Public launch / GSC / cold start：NO_GO，需先修 P0。

下一棒建议：墨策可继续 PM 验收，但必须读取本报告；墨码/墨界后续修 P0：邮箱、Terms、Privacy、YouTube素材合同 parser 或删除未启用口径。