# 隐私与风险治理说明

本文档说明“禾新农事 AI / FieldFlow AI”在作品集 MVP 阶段如何处理用户数据、图片、AI 建议和高风险农技内容。它用于面试展示和后续真实产品化前的治理设计，不构成法律文件。

## 当前 MVP 数据边界

当前版本在本地可作为静态 Web App 预览；部署到 Cloudflare Pages 并配置 Kimi Secret 后，可启用真实 AI 功能：

- 作物、面积、地区、生长阶段等信息只在浏览器当前页面内用于展示。
- 上传的叶片或田间照片先在浏览器本地预览和压缩；只有点击“开始 AI 图像初筛”后才会被发送到 Kimi API，项目不保存原图。
- 图像结果是 AI 辅助初筛，不是病害确诊；用户可继续查看规则样例。
- AI 种植计划会调用 Kimi API；模型异常、限额、结构校验失败或触及风险边界时，会自动回退到规则方案。
- 发布包不包含根目录临时图片，只有经过整理的样例图片索引会进入交付材料。

## 后续真实产品的数据分类

| 数据类型 | 示例 | 风险等级 | 默认处理 |
| --- | --- | --- | --- |
| 土地基础信息 | 地区、面积、地块平整度、灌溉条件 | 中 | 用于生成种植计划，避免展示到公开页面 |
| 作物档案 | 作物、生长阶段、农事任务 | 中 | 用于提醒和诊断上下文 |
| 图片数据 | 叶片、病斑、田间环境照片 | 高 | 上传前明确告知用途，训练前二次授权 |
| 诊断结果 | 可能病害、可能缺素、处置建议 | 高 | 仅作辅助判断，保留来源和风险提示 |
| 售粮信息 | 收购公告、库点、质量标准 | 高 | 必须保留原始公告链接和更新时间 |
| 联系信息 | 手机号、地址、联系人 | 高 | 当前版本不采集，真实版本需最小化采集 |

## 隐私设计原则

- 最小化采集：能用选项完成的，不要求用户输入精确地址、身份信息或联系方式。
- 本地优先：本地可完成的预览、模拟和草案生成，不上传原始图片。
- 明确告知：上传图片、调用模型或用于训练前，应说明用途、保存时间和退出方式。
- 可撤回：用户应能删除图片、档案和诊断记录。
- 可追溯：进入知识库的建议必须保留来源、时间、证据片段和审核状态。
- 不公开敏感信息：作品集、演示页面和发布包不展示真实农户身份、地块位置和联系方式。

安全问题、密钥泄露、敏感图片或高风险农技内容报告方式见 `SECURITY.md`。

## AI 接入风险控制

部署环境已按以下流程接入 Kimi 模型：

1. 前端只提交必要字段，例如地区、面积、作物、灌溉条件和预算偏好。
2. 后端对输入做脱敏和字段校验。
3. 模型输出必须符合 `data/schemas/planting_plan.schema.json`。
4. 涉及农药、剂量、收益承诺、食品安全、收粮标准的内容标记为 `needs_human_review = true`。
5. 高风险内容不直接作为行动建议展示，只显示“需咨询当地农技员/查看官方公告”。
6. 保留模型版本、提示词版本、生成时间和审核状态，便于复盘。

## 图片数据治理

- 图片进入 `data/raw/images/` 前应记录来源、授权、作物、异常类型和采集时间。
- 未确认授权的图片只能用于本地测试，不应放入公开训练集。
- 田间照片可能包含人脸、车牌、房屋、地块位置等隐私信息，真实上传前应做遮挡或脱敏。
- 用于模型训练时，应单独记录训练授权，不默认等同于“用于诊断”授权。

## 高风险农技内容处理

以下内容必须经过 A/B 级来源和人工审核：

- 农药名称、用药剂量、复配建议和安全间隔期。
- 食品安全、农残、质量等级和收粮标准。
- 严重病虫害、区域性灾害和大面积减产风险。
- 政策补贴、收购价格、库点开放时间和交粮资格。

产品端表达应使用“可能原因”“参考建议”“需人工审核”“请咨询当地农技员”，避免把辅助判断包装成确定结论。

## 面试表达要点

可以这样概括：

> 我没有把数据采集和 AI 生成直接等同于农技建议，而是设计了数据最小化、图片授权、A/B/C 来源分级、人工审核、可追溯和高风险拦截机制。这个项目的重点不只是做出功能，还体现了我对农业场景风险、用户隐私和产品责任边界的理解。
