# pfpmaker.online 合规最终复核

- 日期：2026-06-03
- 任务：t_55e5ccf5
- 角色：墨盾（合规/风险预防，不是正式法律意见）
- 站点：pfpmaker.online
- 生产 URL：https://pfpmaker.online/
- 预览 URL：https://39b402c8.pfpmaker-2yg.pages.dev/
- 项目目录：/root/projects/pfpmaker
- 上游合规边界：/root/.hermes/reports/site-pfpmaker-20260603/compliance-boundary.md

## 0. 结论

结论：COMPLIANCE_NO_GO。

原因不是核心产品方向错，而是生产法律页仍低于前置合规边界的最低披露要求：Privacy 缺运营主体、EU/UK lawful basis、用户权利、保留期、国际传输/政策变更等关键项；Terms 缺 Wyoming 管辖/责任限制/终止/站点 IP 等关键项。上线前应先补 legal copy，再让墨盾快速复核。

核心产品边界本身通过：当前实现是静态/本地优先 PFP editor，无账号、无支付、无服务端图片上传、无 AI 生成实装、无平台 Logo/IP 模板、无高风险 AI headshot 承诺。

## 1. 已验证事实

### 1.1 源码 / 构建

- git commit：`bf4dbc7f0f62b3dd1c3ef268093ee62dc13971f7`
- `git status --short`：clean
- `npm run build`：PASS，Next.js 16 static build，生成 13 个静态页面
- 生产路由 HTTP smoke：全部 200
  - `/`
  - `/discord-pfp-maker`
  - `/profile-picture-maker`
  - `/ai-pfp-maker`
  - `/templates`
  - `/contact`
  - `/privacy`
  - `/terms`
  - `/cookie-policy`
  - `/robots.txt`
  - `/sitemap.xml`
- 预览页抽查：`https://39b402c8.pfpmaker-2yg.pages.dev/privacy` 可访问，title/canonical/noindex 正常

### 1.2 图片上传 / 隐私行为

浏览器实际验证：在生产首页注入 network hook，模拟 PNG 文件选择并点击下载。

结果：
- 上传后 Download PNG 按钮启用。
- 点击下载后按钮状态变为 `Downloaded — export again`。
- `fetch` / `XMLHttpRequest` / `sendBeacon` 捕获到的网络调用：`[]`。

源码交叉验证：
- `PfpEditor.tsx` 使用 `URL.createObjectURL(file)`、Canvas、本地 `toBlob` 下载。
- 未发现图片上传 API、R2、Worker upload、AI provider 调用。
- analytics bridge 只 dispatch 本地 `CustomEvent('pfp-analytics-event')`，并过滤 `fileName/imageUrl/blobUrl/imageHash/faceBox/exif`。

该项符合 local-first 隐私声明。

### 1.3 外部脚本 / 第三方服务

生产首页 HTML 脚本抽查：只发现 Next.js 静态 chunk：
- `/_next/static/chunks/...`

未发现 GA4、Clarity、Plausible、Stripe、广告像素、第三方 AI/image provider 脚本。

## 2. 合规检查结果

### 2.1 品牌混淆 / 竞品风险

状态：PASS_WITH_RESIDUAL_RISK。

通过点：
- 站点统一品牌为 `PFP Maker Online`，没有使用 `pfpmaker.com`、竞品社证、竞品视觉或竞品用户量声明。
- 禁用词扫描未发现 `pfpmaker.com`、`PFPMaker alternative`、竞品社证等高风险主叙事。

残留风险：
- 域名 `pfpmaker.online` 与强竞品 `pfpmaker.com` 接近，天然存在混淆风险。
- 缓解动作已做：独立品牌名、footer no-affiliation、无竞品视觉/社证。

### 2.2 平台商标 / no-affiliation

状态：PASS。

通过点：
- Footer 明确写：not affiliated with, endorsed by, or sponsored by Discord, Instagram, TikTok, YouTube, X, LinkedIn, Reddit, Twitch。
- 平台页使用平台名作描述性尺寸/兼容性说明。
- `Discord PFP Maker` 页面把尺寸写成 guidance / not official approval。
- 未发现 Discord / Instagram / TikTok / YouTube / LinkedIn / X / Reddit / Twitch 官方 Logo 或 UI 截图作为站内素材。

注意：源码扫描命中 `official` / `sponsored by`，均出现在否定免责声明或“not official approval”语境中，不构成阻断。

### 2.3 上传隐私 / 生物识别 / 儿童

状态：PASS_WITH_P1_COPY_GAP。

通过点：
- 当前编辑器没有服务端上传图片。
- Privacy 没写 “100% private” / “never leaves device” / “no data collected” 这类绝对句。
- Privacy 写明 AI generation not live；不使用上传图训练 AI。
- Terms/Privacy 均有 under 13 口径。

P1 文案缺口：
- Privacy 的儿童、用户权利、数据保留、国际传输、处理依据写得过薄，需补齐。

### 2.4 素材版权 / 模板来源

状态：PASS。

通过点：
- `/templates` 声明 original CSS/canvas styles。
- 模板数据为纯颜色/渐变/边框配置。
- 未发现平台 Logo、动漫/游戏角色、名人图片、球队 Logo、竞品视觉素材。
- 模板没有声称 commercial license included。

### 2.5 AI / 非 AI 声明

状态：PASS。

通过点：
- `/ai-pfp-maker` FAQ 明确：`No. AI generation is planned next.`
- 页面写明当前可用能力是 crop/style/preview/download。
- 未发现 “Generate AI PFPs instantly”、“AI headshot studio”、“AI photoshoot”、“studio-quality headshots”等上线承诺。
- 首页“without heavy AI photoshoot claims”、Profile 页“not a studio AI headshot/photoshoot tool”是限制性表述，不是承诺。

### 2.6 免费 / 付费 / 退款

状态：PASS_FOR_MVP。

通过点：
- 当前无 Stripe/checkout/account/subscription。
- Terms 写明 checkout is not enabled。
- 首页写 “core browser-side editor is free during MVP”，没有写永久免费、无限使用、无限 AI credits。
- 无真实付费功能，因此 MVP 不强制公开 Refund Policy。

上线约束：未来只要启用 Pro/Stripe/credits/subscription，必须补 Refund Policy，并同步 Terms/Pricing/Checkout/FAQ。

### 2.7 Legal pages

状态：FAIL。

已上线：
- `/privacy`：200，noindex/follow，canonical 正确。
- `/terms`：200，noindex/follow，canonical 正确。
- `/contact`：200，noindex/follow，canonical 正确。
- `/cookie-policy`：200，noindex/follow，canonical 正确。
- footer 有 Privacy / Terms / Cookie Policy / support@pfpmaker.online。

阻断问题：

1. Privacy 缺运营主体。
   - 前置合规要求：Operator = Nextfield Labs LLC, Wyoming, USA。
   - 当前 `/privacy` 未写运营主体。

2. Privacy 缺 GDPR/UK lawful basis 与用户权利细项。
   - 当前只写 “Your choices”，不足以覆盖 access/deletion/correction/objection/portability/withdraw consent。
   - 未区分 Contract / Legitimate Interests / Consent。

3. Privacy 缺保留期、国际传输、政策变更。
   - 当前写了不主动保存图片，但未写 technical logs/support emails/analytics events 的保留逻辑。
   - 未写 US/Wyoming operator 和跨境处理。
   - 未写 policy changes。

4. Terms 缺 Wyoming governing law、limitation of liability、termination/contact、站点 IP 归属。
   - 当前有用户内容责任、平台非关联、no guarantee，但不完整。

5. Contact 邮箱使用站点域名邮箱是正确方向，但未看到 Email Routing/收信能力证据。
   - 这不是本次代码合规 P0，但上线运营前应由 infra/ops 确认 `support@pfpmaker.online` 可收信。

## 3. Acceptance checklist

- [x] 读取上游 compliance-boundary / frontend / backend handoff。
- [x] 核对生产主要路由 HTTP 200。
- [x] 核对预览 privacy 页面可访问。
- [x] 核对 git commit、工作区 clean、build 通过。
- [x] 实际浏览器验证图片选择/下载无 fetch/xhr/beacon 上传。
- [x] 检查平台商标/no-affiliation。
- [x] 检查 AI 功能状态与文案是否误导。
- [x] 检查模板素材/IP/版权边界。
- [x] 检查免费/付费/退款表述。
- [x] 检查 Privacy / Terms / Contact / Cookie Policy。
- [ ] Legal pages 达到前置边界最低披露要求。未通过。

## 4. 必须修复项

### C-BLOCK-001 / Legal / P1 launch blocker

补 `/privacy`：
- Operator：Nextfield Labs LLC, Wyoming, USA。
- Contact：support@pfpmaker.online。
- Data collected：uploaded images local-first、usage/product events、technical logs、support emails。
- Purposes：provide tool、security、debugging、analytics、support。
- EU/UK lawful basis：contract、legitimate interests、consent where non-essential analytics/cookies are used。
- Retention：images not intentionally stored for browser editor；technical logs 30-90 days or actual setting；support emails as needed；analytics per provider settings。
- User rights：access、delete、correct、object、portability、withdraw consent。
- Children：not directed to under 13。
- International transfers：US/Wyoming operator; data may be processed in US/other countries。
- Changes to policy。

### C-BLOCK-002 / Legal / P1 launch blocker

补 `/terms`：
- Operator / service provider：Nextfield Labs LLC。
- Eligibility：13+，minors need guardian permission。
- Site IP：site UI/code/content owned/licensed by operator；user retains uploaded content；no third-party platform mark rights granted。
- Prohibited use：保留现有内容，可再明确 platform policy evasion / malware / scraping abuse。
- Availability / termination：service may change, suspend or terminate access for abuse。
- Disclaimer：as-is；no guarantee of platform acceptance, exact size, legal clearance, commercial result。
- Limitation of liability：reasonable cap。
- Governing law：Wyoming, USA。

### C-FOLLOWUP-003 / Ops / P2

确认 `support@pfpmaker.online` 可收信。若未配置 Cloudflare Email Routing 或等效邮箱，生产 footer/contact/privacy 虽有站点邮箱，但实际请求可能无人接收。

## 5. 残留风险

1. 域名与 `pfpmaker.com` 接近，需持续避免竞品视觉、社证、文案和 “official/approved” 暗示。
2. 用户可能上传他人肖像、商标或受版权保护图片；MVP 不托管/不公开分享降低风险，但 Terms 必须完整保留用户责任和禁止用途。
3. `/ai-pfp-maker` 可 index，但增长文案后续很容易写过头；任何 AI provider、服务端上传、R2 存储上线前必须重新复核。
4. 当前无外部 analytics；若后续接 GA4/Clarity/Plausible/广告像素，Cookie/Privacy/consent 需要同步。

## 6. Next inputs

给前端/文案：按 C-BLOCK-001、C-BLOCK-002 更新 `/privacy` 和 `/terms`，不要改动已通过的 local-first、AI planned、no-affiliation 口径。

给 infra/ops：确认 `support@pfpmaker.online` 邮箱可收信；如未配置，先配置 Cloudflare Email Routing 或等效邮箱。

给下游 QA/Owner Gate：在上述 legal copy 修复前，不建议给最终上线 GO。修复后墨盾只需做窄口径 legal-page recheck，不必重跑全站合规。
