> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-mintlify-d2fddb8a.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 隐私

> Venice 如何处理 prompt、响应和元数据，以及可用的隐私模式：匿名化、私有、Trusted Execution 和端到端加密。

Venice 的指导原则之一是用户隐私。平台架构源自这一理念，每一个组件都围绕这一目标进行设计。

> 实现合理用户隐私的唯一方法是从一开始就不收集这些信息。从工程角度来看这更难做到，但我们相信这是正确的方法。

Venice API 采用与 Venice 平台相同的后端隐私架构：请求通过加密连接经由 Venice 代理转发，对于常规推理 Venice 不存储或记录 prompt 和响应内容，每个所选模型在运行时层加入四种隐私模式之一：Anonymous、Private、TEE 或 E2EE。

<img src="https://mintcdn.com/veniceai-mintlify-d2fddb8a/k87Ky9aEcTpQ1KIa/images/privacy-architecture.png?fit=max&auto=format&n=k87Ky9aEcTpQ1KIa&q=85&s=7b1ca6d97a6b787ee0af584c98728fa7" alt="Venice AI 隐私架构" width="2042" height="812" data-path="images/privacy-architecture.png" />

## 隐私架构

Venice 代理是每种隐私模式的共享基础。请求通过 HTTPS/TLS 经由 Venice 转发，Venice 不存储 prompt 或响应内容。所选模型上的隐私模式决定了后续在提供商或模型运行时层会发生什么。

Venice 以四种模式呈现模型隐私。它们在相同的代理基础上构建，并逐步添加更强的保护，从向提供商隐藏身份，到将 prompt 端到端加密至已验证的 enclave。

<div className="venice-privacy-level-label">隐私保护级别递增</div>

<div className="venice-privacy-mode-grid">
  <div className="venice-privacy-mode-card venice-privacy-mode-anonymous">
    <div className="venice-privacy-mode-header">
      <span className="venice-privacy-mode-name">Anonymous</span>
    </div>

    <h3>对提供商隐藏身份</h3>
    <p>Venice 代理请求时不会向模型提供商发送您的 Venice 身份。Prompt 内容对该提供商仍然可见。</p>
  </div>

  <div className="venice-privacy-mode-card venice-privacy-mode-private">
    <div className="venice-privacy-mode-header">
      <span className="venice-privacy-mode-name">Private</span>
    </div>

    <h3>零数据保留，由合同强制执行</h3>
    <p>Prompt 和响应内容仅用于推理处理，请求完成后不予保留。</p>
  </div>

  <div className="venice-privacy-mode-card venice-privacy-mode-tee">
    <div className="venice-privacy-mode-header">
      <span className="venice-privacy-mode-name">TEE</span>
    </div>

    <h3>硬件隔离推理</h3>
    <p>支持的模型在可信执行环境（TEE）中运行，并支持远程认证。</p>
  </div>

  <div className="venice-privacy-mode-card venice-privacy-mode-e2ee">
    <div className="venice-privacy-mode-header">
      <span className="venice-privacy-mode-name">E2EE</span>
    </div>

    <h3>端到端加密至已验证的 TEE</h3>
    <p>您的客户端在发送前加密 prompt。Venice 中转密文，仅已验证的 TEE 解密。</p>
  </div>
</div>

`/models` 端点会告诉您每个模型的隐私级别。标记为 `anonymized` 的模型是 Anonymous 模型，标记为 `private` 的是 Private 模型。TEE 和 E2EE 在模型的 capabilities 中单独显示，例如 `supportsTeeAttestation` 和 `supportsE2EE`。

<Info>
  有关实现细节，请参阅 [TEE 与 E2EE 模型指南](/guides/features/tee-e2ee-models)。
</Info>

## TEE 与 E2EE

TEE 和 E2EE 模型在 Venice 默认的不保留内容的方法之上，添加了加密和硬件支持的控制。

<CardGroup cols={2}>
  <Card title="何时使用 TEE" icon="shield-halved">
    您希望模型在已认证的硬件 enclave 内运行，但您的客户端可以通过正常 API 请求发送明文 prompt。
  </Card>

  <Card title="何时使用 E2EE" icon="lock">
    您希望 prompt 在离开您的客户端之前就被加密，并且只在已验证的 TEE 内被解密。
  </Card>
</CardGroup>

E2EE 流程使用 `/chat/completions` 配合具备 E2EE 能力的模型。您的客户端必须获取认证、验证 nonce 和 enclave 证据、加密 `user` 和 `system` 消息、发送 `X-Venice-TEE-*` 请求头、流式接收响应，并验证/解密响应内容。

E2EE 还会禁用在 enclave 外需要明文的功能，例如 web 搜索、记忆、摘要、部分工具流以及其他服务端处理。

## 选择模型

在发送请求前，使用 `/models` 查看每个模型支持的隐私保护。

每个模型都有两个相关字段：

* `model_spec.privacy` 告诉您模型的基线隐私模式：
  * `anonymized`：Venice 向提供商隐藏您的身份，但提供商仍可能看到 prompt。
  * `private`：Venice 通过零数据保留的基础设施路由请求。
* `model_spec.capabilities` 告诉您模型是否支持更强的保护：
  * `supportsTeeAttestation`：模型可在可验证的可信执行环境中运行。
  * `supportsE2EE`：模型可接受客户端加密的 prompt，并且仅在 TEE 内解密。

E2EE 是一个由客户端驱动的流程。您的应用必须加密请求、验证认证，并验证/解密响应。请参阅 [TEE 与 E2EE 模型指南](/guides/features/tee-e2ee-models)。

<CodeGroup>
  ```bash cURL theme={null}
  curl https://api.venice.ai/api/v1/models \
    -H "Authorization: Bearer $API_KEY_VENICE" | \
    jq '.data[] | {
      id,
      privacy: .model_spec.privacy,
      tee: .model_spec.capabilities.supportsTeeAttestation,
      e2ee: .model_spec.capabilities.supportsE2EE
    }'
  ```
</CodeGroup>

简单的经验法则：选择 `private` 以获得零数据保留；选择 `tee: true` 以获得硬件支持的隔离；当您需要 prompt 在离开客户端前被加密时，选择 `e2ee: true`。

## 运营元数据

Venice 可能会处理身份验证、计费、滥用防范、可靠性、分析和支持所需的元数据。根据您使用产品的方式，这些可能包括账户或钱包标识符、API 密钥标识符、请求时间戳、所选模型、token 计数、计费金额、速率限制状态、请求 ID、IP 地址、浏览器或设备信息以及产品事件日志。

这些元数据用于运行 API，与 prompt 和响应内容相互独立。计费和用量记录会跟踪诸如模型、端点、token 计数、时间戳和账户标识符等细节；它们不需要存储 prompt 或 completion。
