见过不少风控项目卡在同一个地方:技术方案挑不出毛病,压测也过了,最后停在合规评审这一步。IP地址定位接入风控就是典型。
今天是网安周的金融日,主题"清朗金融网络 守护安心消费"的落点正是金融数据合规。这份清单按《个人信息保护法》的条款顺序排,每条都是评审会上真会被追问的问题,做信贷、支付、反洗钱的团队逐条对下来基本都能命中。

一、先定合法性基础
第13条列了七种可以处理个人信息的情形,方案设计前要明确自己走哪一条。
|
条款情形 |
风控场景的对应 |
|
取得个人同意 |
注册协议授权条款,单独依赖风险较高 |
|
履行合同所必需 |
反洗钱、身份核验等合同义务 |
|
履行法定职责或义务所必需 |
反欺诈义务、平台安全保障义务 |
|
紧急情况下保护生命财产安全所必需 |
实时拦截正在发生的资金转移 |
|
合理处理已合法公开的个人信息 |
处理公开的威胁情报数据 |
常见误区是全部写成"用户同意"。同意只是七种之一,用户一旦撤回,整条链路就失去依据。对金融机构来说,"履行法定义务所必需"通常更稳,选定后要写进隐私政策,且描述与实际处理行为一致。
二、自动化决策的三条硬约束
第24条对自动化决策提了三条要求,条条都对着风控系统来。决策逻辑要能对外说明,不能是纯黑盒;结果要公平公正,不得在交易条件上实行不合理的差别待遇,风险评分不能反过来变成差别定价的依据;个人有权要求说明,也有权拒绝仅由自动化决策作出决定。
翻成工程语言是两条:拦截要给出理由,且必须留人工复核通道。系统设计上,把决策过程结构化落库即可:
import time
def log_decision(ip: str, score: float, tags: list, action: str, trace_id: str) -> dict:
"""记录一次风控决策,用于后续说明与申诉复核"""
ts = int(time.time())
return {
"trace_id": trace_id,
"ip": ip,
"risk_score": score,
"hit_tags": tags,
"action": action,
# 说明义务要求能追溯具体特征,而不是只留一个分数
"reason": f"命中标签 {','.join(tags)}" if tags else f"风险分 {score}",
"decided_at": ts,
"expire_at": ts + 180 * 24 * 3600, # 保留期按最小必要设置
}
这份记录能同时应付两件事:第24条的说明义务,和第55条要求的处理情况记录。
三、个人信息保护影响评估:什么时候必须做
第55条规定了五类必须事前开展个人信息保护影响评估(PIA)的情形,金融风控场景几乎全部命中。
|
触发情形 |
是否命中 |
说明 |
|
处理敏感个人信息 |
有时 |
涉行踪轨迹、金融账户 |
|
利用个人信息进行自动化决策 |
是 |
风险评分与自动拦截 |
|
委托处理、提供或公开个人信息 |
是 |
调用第三方IP数据服务 |
|
向境外提供个人信息 |
看情况 |
服务节点在境外 |
|
其他对个人权益有重大影响的处理 |
是 |
拦截影响用户权益 |
报告和处理记录至少保存三年。监管检查时,它是证明你事前已采取必要防护措施的直接材料。
四、数据最小化怎么落地
第6条要求收集个人信息限于实现处理目的的最小范围。金融行业另有《个人金融信息保护技术规范》(JR/T 0171-2020),把"最少够用"列为基本原则,指向同一件事。风控最常见的过度采集,是把接口能返回的字段全部留存下来。
以IP地址定位为例,风控要判断的是这个请求的网络环境像不像真实用户,到网段级别通常就够。
import ipaddress
def coarse_ip(ip: str) -> str:
"""把IP截断到网段级别,用于风控特征提取,避免留存完整地址"""
try:
addr = ipaddress.ip_address(ip.strip())
except (ValueError, AttributeError):
return ""
# IPv4 保留到 /24(C 段),IPv6 保留到 /48
prefix = 48 if addr.version == 6 else 24
net = ipaddress.ip_network(f"{addr}/{addr.max_prefixlen}", strict=False)
return str(net.supernet(new_prefix=prefix))

IP地址网段截断示意图
返回值保留掩码,192.168.1.100 落库为 192.168.1.0/24,2001:db8::1 落库为 2001:db8::/48。带掩码不只是好看,192.168.1.0 和 192.168.1.0/24 在匹配时语义不同,前者会被当成单个地址。截断也不等于匿名化,同时留存了账号、设备等标识的话,组合起来仍可能识别到人。
五、上线前的检查清单
- 合法性基础已选定,与隐私政策描述一致
- 采集字段经过最小必要审查,有清单和留存期限
- 决策记录含可解释理由,不是只存分数
- 人工复核与申诉通道已上线
- PIA报告已完成,记录保存不少于三年
- 第三方委托协议已约定处理目的、期限与安全义务
- 数据清理任务已配置,到期自动删除
写在最后
第66条的罚则不轻:情节严重的,最高可处五千万元或者上一年度营业额百分之五的罚款,相关责任人也可被处罚款。与其在评审阶段返工,不如在设计阶段就把这几条对齐。IP地址定位本身是成熟能力,IP数据云这类接口调起来也简单,真正决定项目能不能长期跑下去的,往往是合规设计到不到位。
合规是底线,能不能真的拦住欺诈才是上限。明天青少年日,聊聊孩子手机里的网络陷阱。

562

被折叠的 条评论
为什么被折叠?



