快速入门
数据离开你的机器的情况
默认情况下,什么都不会离开。明确说明 zn-gate 在本地评估什么、可能发送什么,以及控制这些行为的设置。
默认情况下,什么都不会离开。 zn-gate 的所有操作都在你的机器上运行。云端是可选功能,在你开启之前处于关闭状态,并且只会接收先在本地完成敏感信息脱敏的提示文本。
按数据类型划分(zn-gate 1.5.1)
| 数据 | 评估位置 | 是否发送到任何地方? |
|---|---|---|
工具输出(check_tool_result、shield) |
本地 | 从不,在任何配置下都是如此 |
工具调用参数(check_tool_call、shield) |
本地 | 从不,在任何配置下都是如此 |
MCP 工具和参数描述(shield) |
本地 | 从不,在任何配置下都是如此 |
提示词(analyze_prompt、zn-gate analyze、Python analyze()) |
本地 | 仅当你同时设置了 ZN_CLOUD=1 和 ZN_API_KEY 时才会发送。发送前,敏感信息会先在本地脱敏。 |
本地审计日志(~/.zn/evidence.jsonl) |
在本地写入 | 从不 |
| 保险库中的密钥值(Scrubber、npm) | 在本地加密 | 从不发送给 zn。 zn 只会将值填入你允许的程序(zn run),或你允许的主机请求中(secrets_http_request,默认仅限请求头)。获得该值的程序如何使用它由该程序决定;已解锁的保险库会响应你操作系统用户下的任何程序(限制说明) |
保险库审计日志(zn vault log) |
在本地写入,不记录值 | 从不 |
在 Python 中,evaluate、guard、check_tool_call、check_tool_result、sanitize_tool_result、redact_secrets 以及 LangChain、CrewAI、LlamaIndex 和 Promptfoo 集成始终在本地运行。唯一可能访问网络的函数是 analyze(),且需满足相同的两个条件。
控制这些行为的设置
- 仅设置
ZN_API_KEY不会启用任何功能。 ZN_CLOUD=1与ZN_API_KEY同时设置时,提示词分析还会请求云端模型提供第二意见。ZN_LOCAL_ONLY=true(或--local-only)强制仅使用本地模式,即使设置了ZN_CLOUD=1也不例外。
你可以随时检查自己的配置:
npx -y zn-gate status
MCP 工具 zn_status 会向你的代理返回相同的信息。所有设置:配置。
开启云端时
设置 ZN_CLOUD=1 并提供密钥后,提示词会先经过本地规则检查。如果本地规则将其拦截,则不会发送任何内容。否则,文本(其中的敏感信息已替换为 [REDACTED_AWS_KEY] 等占位符)会被发送到 api.usezn.com,由 Galvanize 2 模型提供第二意见。如果无法连接云端,zn-gate 会返回本地结果。关于云端接收内容的保留和处理方式:隐私政策。
早期版本
zn-gate 1.4.0 及更早版本(npm): 设置了 ZN_API_KEY 后,未在本地被拦截的工具输出和工具调用参数会未经脱敏发送到 api.usezn.com。1.4.1 移除了这一路径。如果你在设置了 ZN_API_KEY 的情况下使用过 1.4.0,请升级,并考虑轮换可能出现在工具输出中的任何凭据。详情见 CHANGELOG。
Python 1.4.0 及更早版本: 仅当设置了 ZN_API_KEY 时,analyze() 和 zn-gate analyze 会未经脱敏发送文本。