慈善机构拿得出证据,却不敢给任何人看——把边界前移而非移动数据
来源:dev.to — 2026-09-06
📋 概述
作者为一位朋友经营的三人小慈善机构解决了一个两难:资助方要他们证明工作有效,他们明明有两年、躺在一张电子表格里的证据,却不能发——因为每一行都写着某个人在最糟的那一周向机构倾诉的姓名、电话、住址和故事,把这份表格发出去就是背叛信任。他不想在「保护信任机构的人」与「证明机构确实帮到了人」之间二选一,于是把边界前移而不是移动数据:原始记录永远不离开数据仓库,脱敏、分流与书面摘要全在 Snowflake 内以 SQL 完成,只有脱敏后的数据集与简报能跨出边界。
🔑 核心要点
- 核心铁律在数据库权限层落地:只 GRANT SELECT 给脱敏视图 SAFE_CASES,刻意不授权 RAW_CASES——应用层角色读不了隐私表,界面左侧只能显示行数
- 发现实测翻车:USE ROLE 只是设主角色、不撤销其他角色,用户持有的每个角色都作为 secondary role 保持激活——作者的最少权限角色竟读出了完整隐私记录还报「正确角色」;一条 USE SECONDARY ROLES NONE 才真正封死
- 免费/试用账号测试暴露真实限制:设计的 11 个 Cortex AI 函数中 9 个被拒(含整个设计的核心 AI_REDACT),错误串直指「trial account 不可用」
- 用 AI_AGG 对每个唯一 key 做 GROUP BY 把 aggregate 变成逐行 LLM 转换:60 条记录脱敏+分类+分流 24 秒完成、全部返回可解析 JSON、发布集里电话/邮箱零泄漏
- 诚实纪律贯穿始终:不展示真实案例做 demo、声称失败的 Layer 2 留在仓库不运行、能力表保留红色叉号不删,「一个你没看它拒绝过任何东西的边界不是边界,只是一张示意图」
💡 金句
一个你从没看着它拒绝过任何东西的边界,不是边界,只是一张示意图。
👍 0
👎 0
← 返回 dev.to 首页