From adacb1224c7c25aae4c5309676b5e441d90e212f Mon Sep 17 00:00:00 2001 From: Hermes Agent Date: Thu, 25 Jun 2026 15:04:29 +0800 Subject: [PATCH] =?UTF-8?q?feat(legal):=20=E4=B8=AA=E4=BA=BA=E4=B8=BB?= =?UTF-8?q?=E4=BD=93=E6=AD=A3=E5=BC=8F=E8=90=BD=E7=9B=98=20+=20consent=5Fv?= =?UTF-8?q?ersion=20=E5=88=87=E5=88=B0=20v2026.06.25?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 按确认方案落地: - 运营主体: 龙某某(个人开发者) - 联系邮箱: lon22@qq.com - 隐私政策版本: privacy-policy-v2026.06.25 - 服务条款版本: service-terms-v2026.06.25 - 生效日期: 2026-06-25 文档更新: - PRIVACY_POLICY_DRAFT.md: 新增个人信息处理者信息, 联系邮箱, 版本号, 生效日期 - SERVICE_TERMS.md: 新增运营主体信息, 联系邮箱, 版本号, 生效日期 - LEGAL_PRIVACY_BASELINE.md: 同步法务基线状态, 收窄待补项到前台挂载/第三方实名披露 - 清理文档中残留的“待补运营主体/邮箱/版本号”占位文案 运行时更新: - Settings 默认 GAOKAO_CONSENT_VERSION 改为 privacy-policy-v2026.06.25 - /privacy 和 /service-terms 页面头部渲染主体/邮箱/版本/生效日期 - admin create_order / portal intake 默认 consent_version 与文档版本对齐 测试: - 38 个针对性测试全过 - 页面真实渲染包含 lon22@qq.com 与正式版本号 - dev-verify all checks passed --- admin/config.py | 2 +- admin/routes/web_public.py | 8 ++--- admin/tests/test_routes_orders.py | 6 ++-- docs/LEGAL_PRIVACY_BASELINE.md | 12 ++++++-- docs/PRIVACY_POLICY_DRAFT.md | 33 ++++++++++++--------- docs/SERVICE_TERMS.md | 49 +++++++++++++++++-------------- 6 files changed, 63 insertions(+), 47 deletions(-) diff --git a/admin/config.py b/admin/config.py index 58ab6d5..c83d34b 100644 --- a/admin/config.py +++ b/admin/config.py @@ -285,7 +285,7 @@ def load_settings() -> Settings: default_admin_username=os.getenv("GAOKAO_ADMIN_USER", "admin"), default_admin_password=os.getenv("GAOKAO_ADMIN_PASS", _DEFAULT_ADMIN_PASSWORD), consent_version=os.getenv( - "GAOKAO_CONSENT_VERSION", "privacy-policy-v2026.06-draft" + "GAOKAO_CONSENT_VERSION", "privacy-policy-v2026.06.25" ), consent_scope_portal=os.getenv( "GAOKAO_CONSENT_SCOPE_PORTAL", "web-self-service-order-intake" diff --git a/admin/routes/web_public.py b/admin/routes/web_public.py index 5f04c25..b72ac4b 100644 --- a/admin/routes/web_public.py +++ b/admin/routes/web_public.py @@ -988,7 +988,7 @@ def privacy_page(token: str | None = None) -> HTMLResponse: doc_filename="PRIVACY_POLICY_DRAFT.md", title="隐私政策", eyebrow="隐私说明", - lead="我们只收集下单、资料填写、支付与交付所需的最小信息,用于志愿服务流程,不用于营销出售或无关用途。", + lead="运营主体:龙某某(个人开发者)|联系邮箱:lon22@qq.com|版本:privacy-policy-v2026.06.25|生效:2026-06-25。我们只收集下单、资料填写、支付与交付所需的最小信息,用于志愿服务流程,不用于营销出售或无关用途。", footer_token=token, ) if full_html is not None: @@ -998,7 +998,7 @@ def privacy_page(token: str | None = None) -> HTMLResponse: _render_basic_page( title="隐私政策", eyebrow="隐私说明", - lead="我们只收集下单、资料填写、支付与交付所需的最小信息,用于志愿服务流程,不用于营销出售或无关用途。", + lead="运营主体:龙某某(个人开发者)|联系邮箱:lon22@qq.com|版本:privacy-policy-v2026.06.25|生效:2026-06-25。我们只收集下单、资料填写、支付与交付所需的最小信息,用于志愿服务流程,不用于营销出售或无关用途。", sections_html=sections_html, footer_token=token, ) @@ -1011,7 +1011,7 @@ def service_terms_page(token: str | None = None) -> HTMLResponse: doc_filename="SERVICE_TERMS.md", title="服务说明与使用条款", eyebrow="服务边界", - lead="本服务提供志愿填报辅助建议、方案审计与交付支持,不承诺录取结果;提交资料前请确认监护人与考生已知情。", + lead="运营主体:龙某某(个人开发者)|联系邮箱:lon22@qq.com|版本:service-terms-v2026.06.25|生效:2026-06-25。本服务提供志愿填报辅助建议、方案审计与交付支持,不承诺录取结果;提交资料前请确认监护人与考生已知情。", footer_token=token, ) if full_html is not None: @@ -1021,7 +1021,7 @@ def service_terms_page(token: str | None = None) -> HTMLResponse: _render_basic_page( title="服务说明与免责声明", eyebrow="服务边界", - lead="本服务提供志愿填报辅助建议、方案审计与交付支持,不承诺录取结果;提交资料前请确认监护人与考生已知情。", + lead="运营主体:龙某某(个人开发者)|联系邮箱:lon22@qq.com|版本:service-terms-v2026.06.25|生效:2026-06-25。本服务提供志愿填报辅助建议、方案审计与交付支持,不承诺录取结果;提交资料前请确认监护人与考生已知情。", sections_html=sections_html, footer_token=token, ) diff --git a/admin/tests/test_routes_orders.py b/admin/tests/test_routes_orders.py index 79cb946..4f066f9 100644 --- a/admin/tests/test_routes_orders.py +++ b/admin/tests/test_routes_orders.py @@ -167,7 +167,7 @@ def test_create_order_writes_intake_record_with_consent_audit( def test_create_order_uses_settings_consent_version(client, auth_headers, settings): """consent_version / consent_scope 不再硬编码, 而是从 Settings 读取。 - 锁定: 默认值 = privacy-policy-v2026.06-draft / xianyu-channel-intake + 锁定: 默认值 = privacy-policy-v2026.06.25 / xianyu-channel-intake (升级隐私政策时只需改环境变量 GAOKAO_CONSENT_VERSION, 无需改代码) """ resp = client.post( @@ -192,9 +192,9 @@ def test_create_order_uses_settings_consent_version(client, auth_headers, settin intake_store.close() assert record is not None - # 必须来自 settings.consent_version (默认 privacy-policy-v2026.06-draft) + # 必须来自 settings.consent_version (默认 privacy-policy-v2026.06.25) assert record.payload.get("consent_version") == settings.consent_version - assert record.payload.get("consent_version") == "privacy-policy-v2026.06-draft" + assert record.payload.get("consent_version") == "privacy-policy-v2026.06.25" # scope 必须是 f"{source}-{settings.consent_scope_channel_prefix}" assert ( record.payload.get("consent_scope") diff --git a/docs/LEGAL_PRIVACY_BASELINE.md b/docs/LEGAL_PRIVACY_BASELINE.md index b15b0fb..2d5f2d1 100644 --- a/docs/LEGAL_PRIVACY_BASELINE.md +++ b/docs/LEGAL_PRIVACY_BASELINE.md @@ -184,6 +184,9 @@ - 用户权利与响应机制 - 未成年人/监护人专章(同意留痕 + 行权 + 误收集处置) - 自动化分析与算法说明 + - 运营主体:龙某某(个人开发者) + - 联系邮箱:lon22@qq.com + - 版本号:privacy-policy-v2026.06.25 / 生效日期:2026-06-25 - `docs/SERVICE_TERMS.md` 已同步升级为法务送审版草案,补齐: - 服务性质与能力边界表 - 用户责任与禁止行为 @@ -193,7 +196,10 @@ - 智能分析与算法说明 - 法律适用与争议解决 - 协议更新分级机制 -- **但仍待法务对运营主体、正式联系方式、争议解决口径、对外生效版本进行最终审定** + - 运营主体:龙某某(个人开发者) + - 联系邮箱:lon22@qq.com + - 版本号:service-terms-v2026.06.25 / 生效日期:2026-06-25 +- **但仍待法务对争议解决口径、对外生效版本进行最终审定** --- @@ -211,7 +217,7 @@ 尚缺: - 对外正式法务审阅与版本管理(PM/legal 拍板) -- 前台正式运营主体/联系方式/生效日期挂载 +- 前台正式入口挂载(隐私政策 / 服务条款) - `consent_version` 升级机制(当前仍需版本化管理) - `consent_scope` 命名空间进一步统一 - 第三方 SDK/插件接入后的隐私披露流程 @@ -244,7 +250,7 @@ - 前台存在可见入口 - 同意字段已落库 - 后台/运维知道如何响应删除请求 -- 法务已确认运营主体、联系方式、争议解决和正式生效版本 +- 法务已确认运营主体、联系方式、争议解决和正式生效版本(剩余为前台挂载与页面展示落地) 在此之前,只能说: diff --git a/docs/PRIVACY_POLICY_DRAFT.md b/docs/PRIVACY_POLICY_DRAFT.md index bae365c..ecc4b89 100644 --- a/docs/PRIVACY_POLICY_DRAFT.md +++ b/docs/PRIVACY_POLICY_DRAFT.md @@ -2,17 +2,24 @@ 最后更新: 2026-06-25 适用产品: 高考志愿填报智能系统(用户端 Web 自助 MVP + 后台订单处理 + 渠道补录场景) -当前状态: **法务送审草案 / 待补运营主体与正式联系方式 / 待前台正式挂载 / 待版本号与生效日期拍板** +当前状态: **正式版可发布前置已补齐 / 个人主体适用 / 前台正式挂载待完成** > 说明: > > 1. 本文件用于建立当前产品上线前的隐私合规基线,不等于正式生效文本。 > 2. 本草案参考了腾讯、京东、字节、阿里等国内互联网平台公开隐私政策常见结构,并结合本项目当前真实实现能力编写。 -> 3. 在运营主体全称、隐私专用联系方式、正式版本号、生效日期、前台挂载入口补齐前,不得对外宣称“隐私合规已全部完成”。 +> 3. 当前已确认运营主体、联系邮箱、版本号与生效日期;在前台挂载入口与页面展示补齐前,不得对外宣称“隐私合规已全部完成”。 ## 1. 适用范围与定义 -本隐私政策适用于我们通过网站、资料表单、订单页、客服沟通、后台处理、渠道补录等方式,收集、存储、使用、共享、删除或以其他方式处理与高考志愿填报服务相关的个人信息的活动。 +## 1.1 个人信息处理者信息 + +- 个人信息处理者 / 运营主体:龙某某(个人开发者) +- 联系邮箱:lon22@qq.com +- 适用版本:privacy-policy-v2026.06.25 +- 生效日期:2026-06-25 + + 1.2 本隐私政策适用于我们通过网站、资料表单、订单页、客服沟通、后台处理、渠道补录等方式,收集、存储、使用、共享、删除或以其他方式处理与高考志愿填报服务相关的个人信息的活动。 本政策中的: @@ -205,8 +212,8 @@ 当前送审版口径下,您可通过以下渠道提出申请: -- 客服/运营通道:待正式上线后补充 -- 隐私或法务专用邮箱:待正式法务确认后补充 +- 客服/运营通道:lon22@qq.com +- 隐私或法务专用邮箱:lon22@qq.com - 删除与保留流程说明:见 `docs/DATA_RETENTION_AND_DELETION.md` ### 9.2 响应机制 @@ -259,22 +266,20 @@ 如您对本政策或个人信息处理事项有任何疑问、意见、投诉或建议,可通过以下方式联系: -- 运营/客服通道:**待正式上线后补充** -- 隐私/法务邮箱:**待法务审核确认后补充正式邮箱** +- 运营/客服通道:**lon22@qq.com** +- 隐私/法务邮箱:**lon22@qq.com** - 数据删除与保留规则:见 `docs/DATA_RETENTION_AND_DELETION.md` -正式对外版本必须补充: +当前仍需补充: -- 运营主体全称 -- 隐私专用联系邮箱或工单入口 -- 客服联系方式 -- 必要时的联系地址或其他合法有效联系方式 +- 前台正式挂载入口与页面展示一致性 +- 如后续接入具体第三方服务商,补充实名披露清单与隐私政策链接 +- 如后续切换企业主体,同步更新主体名称、联系渠道和历史版本说明 ## 13. 版本更新与生效 - 本文件当前为**法务送审草案**,不代表正式对外生效文本 -- 正式版本应补充:版本号、发布日期、生效日期、运营主体全称、统一联系方式、前台挂载入口 -- 如发生重大变更(例如处理目的、共享对象、存储地点、跨境安排、未成年人保护规则变化),我们将通过页面提示、订单流程提示或其他显著方式重新告知,并在必要时重新取得您的同意 +- 当前版本号、运营主体、联系邮箱与生效日期已确认;如发生重大变更(例如处理目的、共享对象、存储地点、跨境安排、未成年人保护规则变化),我们将通过页面提示、订单流程提示或其他显著方式重新告知,并在必要时重新取得您的同意 ## 14. 草案状态说明 diff --git a/docs/SERVICE_TERMS.md b/docs/SERVICE_TERMS.md index 7930032..90734d3 100644 --- a/docs/SERVICE_TERMS.md +++ b/docs/SERVICE_TERMS.md @@ -2,21 +2,28 @@ 最后更新: 2026-06-25 适用范围: 高考志愿填报智能系统(用户端 Web 自助 MVP + 人工服务运营增强链路) -当前状态: **法务送审草案 / 待补运营主体与正式联系方式 / 待前台正式挂载 / 待版本号与生效日期拍板** +当前状态: **正式版可发布前置已补齐 / 个人主体适用 / 前台正式挂载待完成** > 说明: > > 1. 本文件用于建立当前产品上线前的服务协议基线,不等于正式生效文本。 > 2. 本草案参考了腾讯、京东、阿里、字节等国内互联网平台公开服务协议常见结构,并结合本项目当前真实实现能力编写。 -> 3. 在运营主体全称、正式联系方式、版本号、生效日期、前台挂载入口补齐前,不得对外宣称“正式服务协议已上线生效”。 +> 3. 当前已确认运营主体、联系邮箱、版本号与生效日期;在前台挂载入口与页面展示补齐前,不得对外宣称“正式服务协议已上线生效”。 ## 1. 协议接受与主体范围 -1.1 在您下单、提交资料、查看订单状态、接收报告、申请售后或以其他方式使用本系统及相关服务前,请您仔细阅读并理解本协议及 `docs/PRIVACY_POLICY_DRAFT.md`。 +## 1.1 个人信息处理者 / 运营主体信息 -1.2 本协议及隐私政策、付费服务说明、退款规则、保留与删除规则等共同构成本服务的完整规则体系。如您不同意任一条款,请立即停止使用相关服务。 +- 个人信息处理者 / 运营主体:龙某某(个人开发者) +- 联系邮箱:lon22@qq.com +- 适用版本:service-terms-v2026.06.25 +- 生效日期:2026-06-25 -1.3 您继续使用本服务的,视为您已阅读、理解并同意本协议及相关规则。如您是未成年人,应在监护人陪同并取得监护人同意后使用本服务。 + 1.2 在您下单、提交资料、查看订单状态、接收报告、申请售后或以其他方式使用本系统及相关服务前,请您仔细阅读并理解本协议及 `docs/PRIVACY_POLICY_DRAFT.md`。 + + 1.3 本协议及隐私政策、付费服务说明、退款规则、保留与删除规则等共同构成本服务的完整规则体系。如您不同意任一条款,请立即停止使用相关服务。 + + 1.4 您继续使用本服务的,视为您已阅读、理解并同意本协议及相关规则。如您是未成年人,应在监护人陪同并取得监护人同意后使用本服务。 ## 2. 服务性质与能力边界 @@ -113,12 +120,12 @@ ### 5.1 下单与支付 -| 环节 | 说明 | -| -------- | ------------------------------------------------------------ | -| 下单 | 请在下单前阅读套餐说明、隐私政策、服务条款及价格说明 | -| 支付 | 支付可能通过第三方支付通道完成,具体可用方式以下单页展示为准 | -| 支付凭证 | 支付成功后,系统将生成订单号与支付状态记录 | -| 发票 | 如需发票,请通过客服渠道提出,具体开具规则待正式上线后补充 | +| 环节 | 说明 | +| -------- | -------------------------------------------------------------------------------------------------- | +| 下单 | 请在下单前阅读套餐说明、隐私政策、服务条款及价格说明 | +| 支付 | 支付可能通过第三方支付通道完成,具体可用方式以下单页展示为准 | +| 支付凭证 | 支付成功后,系统将生成订单号与支付状态记录 | +| 发票 | 如需发票,请通过邮箱 lon22@qq.com 提出;当前以个人主体提供服务,发票能力按后续主体升级情况再行明确 | 说明: @@ -261,34 +268,32 @@ - 如因本协议或服务使用产生争议,双方应优先通过客服、售后、法务沟通等方式友好协商 - 协商不成的,任何一方可向**运营主体所在地有管辖权的人民法院**提起诉讼 -- 正式对外版本应由法务补充运营主体全称及准确管辖口径 +- 当前运营主体为龙某某(个人开发者);如后续切换企业主体,将同步更新准确管辖口径与历史版本说明 ### 11.3 送达与通知 - 服务相关的通知一般通过订单状态页、通知页、邮箱、客服通道等方式送达 -- 正式法律文书送达地址待正式上线后补充 +- 正式法律文书送达地址:当前未单独设置,以联系邮箱 `lon22@qq.com` 作为现阶段联系入口;如后续切换企业主体,将同步更新正式送达信息 - 如您联系方式变更,请及时通过客服更新,否则因此导致的通知不能送达由您自行承担 ## 12. 联系我们 如您对本协议、服务能力边界、退款争议或知识产权事项有疑问,可通过以下方式联系: -- 客服/运营通道:**待正式上线后补充** -- 法务/隐私邮箱:**待法务审核确认后补充** +- 客服/运营通道:**lon22@qq.com** +- 法务/隐私邮箱:**lon22@qq.com** - 隐私与删除规则:见 `docs/PRIVACY_POLICY_DRAFT.md` 与 `docs/DATA_RETENTION_AND_DELETION.md` -正式对外版本必须补充: +当前仍需补充: -- 运营主体全称 -- 统一客服联系方式 -- 法务/隐私专用邮箱 -- 必要时的法律文书送达地址 +- 前台正式挂载入口与页面展示一致性 +- 如后续切换企业主体,同步更新主体名称、联系渠道、送达信息与历史版本说明 +- 如后续接入具体第三方服务商,补充实名披露清单与隐私政策链接 ## 13. 协议更新与生效 - 本文件当前为**法务送审草案**,尚未形成最终对外生效文本 -- 正式版本应补充:版本号、发布日期、生效日期、运营主体名称、统一联系方式、前台挂载入口 -- 如发生重大变更(例如服务范围、支付方式、退款规则、争议解决、未成年人规则、个人信息处理方式变化),应通过显著方式重新告知用户 +- 当前版本号、运营主体、联系邮箱与生效日期已确认;如发生重大变更(例如服务范围、支付方式、退款规则、争议解决、未成年人规则、个人信息处理方式变化),应通过显著方式重新告知用户 ### 13.1 变更分级