2026-10-05 · 原文发布日
对外发送数据前用AI做个人信息闸门检查
这个免费n8n流程接收webhook提交的外发数据记录,先校验字段完整性,再用Jev分类接口给文本打个人信息概率分:0.85以上直接拦截外发,0.15以下放行并转发到合作方API,中间区间挂起等隐私专员人工复核。每个决定先写Google Sheets日志再发邮件和Telegram通知,每天早上7点还会汇总前日决定数量,让gpt-6-luna起草隐私审计纪要邮件。
原文要点
原模板以POST webhook(路径jev-c3-privacy-gate)接收job_id、record_ref、payload_text、destination四字段;字段缺失时不调用模型直接标记UNUSABLE_GATE_REQUEST。Jev分类节点用model jev-latest、operation check、confidence threshold 0.5,返回jev.answer与jev.probability:≥0.85拦截、≤0.15放行并POST到合作方API、介于两者之间一律挂起等隐私专员复核。四种结果都先写入Google Sheets的"Privacy Gate"页再发邮件和Telegram;每天07:00(cron 0 7 * * *,导出时区Asia/Jakarta)统计各decision数量,由gpt-6-luna起草审计纪要邮件。
这次做成什么
在自己的n8n实例上按该免费模板搭好这条外发数据隐私闸门,并用合成数据分别验证拦截、放行、挂起和缺字段短路四条路径,确认日志先于通知写入、只有放行才会触达合作方端点。
准备什么
- 可登录的n8n实例(自托管或云版)并能导入该免费模板
- Jev (TypeSafe) API凭据、Google Sheets OAuth2、Gmail OAuth2、Telegram bot及chat id、[OI]聊天模型凭据
- 一个已建好的Google Sheets文件(含Privacy Gate标签页和十一列表头)
- 真实合作方接收端点URL,测试期可用自建的请求收集端点替代
具体怎么做
建日志表并准备五套凭据
在Google Sheets新建文件和"Privacy Gate"标签页,按原模板列顺序建gate_id、received_at、destination、payload_type、personal_data、probability、decision、review_owner、payload_excerpt、status、decided_at共十一列。在n8n的Credentials页分别添加Jev (TypeSafe) API、Google Sheets OAuth2、Gmail OAuth2、Telegram和[OI]聊天模型凭据,导入模板后逐节点绑定。
核对webhook入口与字段映射
打开Gate Request节点确认是POST方式的webhook、路径为jev-c3-privacy-gate;在Normalize Payload节点确认job_id、record_ref、payload_text、destination四个字段被映射成后续节点统一引用的字段名,下游节点全部引用这里的输出而不是原始body。
先验证缺字段短路分支
检查"Payload And Destination Present?"节点:payload_text或destination任一为空时不进入模型调用,走Mark Unusable Gate Request写入gate_decision为UNUSABLE_GATE_REQUEST、external_send_allowed为false,并由Email Gate Intake Problem通知运维。用一条故意缺destination的POST先跑通这条分支,确认没有任何Jev调用发生。
配置Jev打分节点
确认Jev Check Personal Data节点的model为jev-latest、operation为check、confidence threshold为0.5、输出字段为jev。执行后在输出里应能读到jev.answer和jev.probability两个值,后续两个判断节点都基于jev.probability。
核对两条分带与两个挂起出口
Personal Data Confident?把probability≥0.85的记录送往Block External Send(decision为BLOCK_EXTERNAL_SEND、review_owner为privacy_officer、status为blocked_pending_officer_ack);Clearly Not Personal?把≤0.15的送往Allow External Send;未通过0.85判断的进Hold For Privacy Officer、未通过0.15判断的进Hold Borderline Payload,两者decision都是HOLD_HUMAN_REVIEW。逐个分支确认每个出口都是先接对应Log节点、再接邮件或Telegram节点。
填Sheet id、通知地址和真实合作方端点
在Log Blocked Send、Log Held Payload、Log Allowed Send、Log Borderline Payload四个append节点和Read Privacy Gate Log里填入你的Sheet id;在三个隐私专员邮件节点和回执邮件节点填好收件地址;在三个Telegram节点填chat id;把Forward Payload To Partner API里的占位地址https://api.partner.example.com/v1/ingest换成真实合作方端点,测试期换成自建的请求收集端点。
确认日报车道并激活测试
确认Daily Privacy Audit Trigger的cron为0 7 * * *、时区是否符合你的工作日(导出值为Asia/Jakarta,不匹配就改);Summarize Gate Decisions按decision对gate_id计数,交给gpt-6-luna起草纪要后经Email Daily Privacy Audit发出。激活工作流后用合成数据分别触发拦截、放行、挂起三种结果做全链路核对。
可直接复制的材料
外发闸门测试用合成POST数据(JSON)
本站虚构的合成测试数据,手机号亦为虚构;POST到/webhook/jev-c3-privacy-gate即可触发流程,另可构造一条payload_text不含人名手机、一条缺destination的数据分别验证放行与短路分支。
{"job_id":"JOB-2026-0001","record_ref":"CRM-8842","payload_text":"客户张三,手机号13800001111,希望下周收到报价单","destination":"partner_crm"}每日隐私审计纪要起草提示词(本站示例)
本站独立编写的示例提示词,非原模板内置提示词;原流程由gpt-6-luna执行该起草,模型与凭据以原模板配置为准,占位符{{$json.counts}}需对应你汇总节点的实际输出字段。
你是隐私合规助理。下面是昨日数据外发闸门的决定统计(JSON):{{$json.counts}}。请起草一封发给隐私专员的中文审计纪要邮件,包含:1)昨日各类决定(BLOCK_EXTERNAL_SEND、ALLOW_EXTERNAL_SEND、HOLD_HUMAN_REVIEW、UNUSABLE_GATE_REQUEST)各自的数量;2)被拦截与被挂起记录按destination的分布提醒;3)需要人工今日跟进的待办清单;4)不超过80字的结论。语气正式客观,不得编造统计中不存在的记录编号或数量。输入与输出示例
本站虚构演示:该文本含姓名和手机号,按分带规则应走拦截路径,但具体probability数值由Jev模型实际返回,本站未运行。
输入
{"job_id":"JOB-2026-0001","record_ref":"CRM-8842","payload_text":"客户张三,手机号13800001111,希望下周收到报价单","destination":"partner_crm"}对应输出
预期路径:jev.probability≥0.85 → 先在"Privacy Gate"页追加一行(gate_id=JOB-2026-0001、decision=BLOCK_EXTERNAL_SEND、review_owner=privacy_officer、status=blocked_pending_officer_ack、payload_excerpt为文本节选),随后隐私专员收到拦截邮件、Telegram收到紧急提醒,合作方端点收不到任何请求。做完检查这些
- 提交不含个人信息的payload_text后,Sheets新增一行且decision为ALLOW_EXTERNAL_SEND,合作方测试端点收到四字段POST,发件方收到回执邮件
- 提交含姓名手机号的文本后decision为BLOCK_EXTERNAL_SEND,且合作方端点日志中无对应新增请求
- payload_text留空提交时不产生任何Jev调用,日志出现UNUSABLE_GATE_REQUEST且运维收到问题邮件
- probability介于0.15与0.85之间的记录decision为HOLD_HUMAN_REVIEW,且Telegram收到复核请求
- 次日07:00之后隐私专员邮箱收到由统计计数生成的审计纪要邮件
容易卡住的地方
- 两个阈值之间的所有记录都会挂起等待人工复核,若隐私专员长期不处理,这些记录会一直停留在held状态不会自动放行
- 导出时区为Asia/Jakarta,与你的工作日不一致时每日07:00的汇总会错位,需在调度节点显式修改
- 忘记替换合作方占位地址会把放行数据POST到example.com占位端点,激活前必须改成真实或测试端点
- 0.85和0.15是模板设定的严格姿态,是否适合你的合规要求需隐私负责人确认,Jev概率分本身是模型输出而非判定事实
- 四个append节点和读取节点都要填同一个Sheet id,漏填一个会导致部分结果无日志
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Gate personal data before external sends with Jev, Google Sheets, Gmail, Telegram and gpt-6-luna
- 原作者
- Khairul Muhtadin
- 原始发布日期
- 2026-10-05T11:12:26.597Z
- 来源
- https://n8n.io/workflows/20452