# @dynamic-labs/redaction 中文文档

规范地址：https://npmcn.com/package/%40dynamic-labs/redaction/

版本：1\.1\.1
npm 元数据更新时间：2026-10-22T20:14:56.097Z
中文译文更新时间：2026-11-13T02:23:37.989Z
软件包许可：未声明

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40dynamic-labs/redaction
原文对照：https://npmcn.com/package/%40dynamic-labs/redaction/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：94.6 kB，30 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-09-10T21:10:45.986Z
- 最新版本发布：2026-10-22T20:14:55.796Z
- 近 30 天下载量：179147（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：5（近 12 个月 5 个）

## 中文简介

由Dynamic服务和浏览器客户端共享的证书和密钥-材料编辑功能:一个密钥拒绝列表,证书-形状的自由文本模式,一个不可移动的深重编辑器,以及Send洗涤器之前的Datadog RUM/Logs. 没有皮诺,节点内置——浏览器-s

## 安装

```sh
npm install @dynamic-labs/redaction
```

也可以使用：`pnpm add @dynamic-labs/redaction`、`yarn add @dynamic-labs/redaction`、`bun add @dynamic-labs/redaction`

## README

# @ 动态- 块/ 红色

由动态后端和浏览器共享的证书和密钥-材料编辑 客户端: 密钥拒绝列表, 证书形状的自由文本模式, 非更改 深重置器和数据犬 RUM/日志 `beforeSend` 洗涤器.

导入什么也没有——没有皮诺,节点内置——所以在浏览器中它是安全的 捆绑. `@dyn-observability/logger` 这些规则适用于每一记录 发出; 当槽不是皮诺时直接使用此包.

## 公共 API

| 导出 | 目的 |
| --- | --- |
| `redact(value, keys?, options?)` | 结构值的非模拟深度编辑 |
| `redactSecretsFromText(text, extraPatterns?)` | 证书形状从字符串中流出 |
| `DEFAULT_REDACT_KEYS` | 按键子串在任意深度被编辑 |
| `DEFAULT_REDACT_KEY_PATTERNS` | 密钥匹配失败( 私有密钥、 密钥共享 、 EAC 、 轴线分支) |
| `KEY_MATERIAL_TEXT_PATTERNS` | 长十六进制/ Base58 运行的 Opt- in文本模式 |
| `OPAQUE_RUN_TEXT_PATTERNS` | 任意 32+ 运行的 Opt- in 文本模式 `[A-Za-z0-9+=_]` |
| `REDACTED` | 替换符牌 |
| `RedactOptions`, (中文(简体) ), `TextPattern` | 备选办法和模式类型 |
| `scrubRumEvent`, (中文(简体) ), `scrubLogEvent` | 数据犬 RUM / 日志 `beforeSend` 洗涤器 |
| `BROWSER_REDACT_OPTIONS` | 默认在 UI 线程上应用洗涤器 |
| `redactSensitiveActionTargets`, (中文(简体) ), `downgradeNetworkErrors` | 个人洗涤器步骤 |
| `isExtensionNoise`, (中文(简体) ), `isNetworkError` | 调用者事件分类器过滤事件本身 |
| `RedactableLogEvent`, (中文(简体) ), `RedactableRumEvent` | 结构事件类型 : |

## 结构化编辑

```ts
import {
  DEFAULT_REDACT_KEYS,
  KEY_MATERIAL_TEXT_PATTERNS,
  redact,
} from '@dynamic-labs/redaction';

const safe = redact(context, DEFAULT_REDACT_KEYS, {
  textPatterns: KEY_MATERIAL_TEXT_PATTERNS,
  maxDepth: 4,
  maxArrayLength: 20,
});
```

-   **密钥 :** 不区分大小写 **子字符串** 匹配结束 `DEFAULT_REDACT_KEYS` —— 说 `authorization`, (中文(简体) ), `cookie`, (中文(简体) ), `token`, (中文(简体) ), `password`, (中文(简体) ), `secret`, (中文(简体) ), `api-key`编号 :`apikey`, (中文(简体) ), `jwt`, (中文(简体) ), `passphrase`, (中文(简体) ), `credential`, (中文(简体) ), `mnemonic` - 在任何深度. `DEFAULT_REDACT_KEY_PATTERNS` 覆盖缺少的子字符串形状 : `private_key`编号 :`privateKey`, (中文(简体) ), `seedPhrase`, (中文(简体) ), `session-signature`, (中文(简体) ), `encrypted*Share`编号 :`*Backup`编号 :`*Data`,在任何 拥有者前缀( e)`*keyShare(s)`, (中文(简体) ), `*eac(s)` - 终极焦虑,所以 `keyShareId` 财务报告和审定财务报表 `externalKeyShareId` 并说: `config`编号 :`headers`编号 :`request` 树枝 轴出错.
-   **自由文本 :** 幸存的字符串、 错误消息和堆栈已被擦除 证书形状的跑.. `Authorization:` 数值, `Bearer`编号 :`Basic` 全权证书、联合 `dyn_*` 键.
-   **布尔值在匹配的密钥名中存活 :** `hasPassword`, (中文(简体) ), `passwordEncrypted` 朋友总是可以问, 因为布尔带不 证明材料. 明确 `paths` 规则仍然修改他们.
-   **错误** 变成 `{ type, message, stack }` 再加上他们可以被修改的 自有财产,匹配皮诺的 `stdSerializers.err` 形状.
-   输入从未变异; 周期崩溃到 `[Circular]`。 。 。 .

`RedactOptions` 外加 `paths` 编号 : `allow` 编号 : `patterns`数字 :

-   `textPatterns` ——额外自由文字图案. `KEY_MATERIAL_TEXT_PATTERNS` (长) hex, Base58 是选入: 这些形状也是 EVM 地址, tx 散列和 块状散列,所以它们只有在链状识别符没有被记录的情况下才会得到回报. `OPAQUE_RUN_TEXT_PATTERNS` (任何32+运行 `[A-Za-z0-9+=_]`)是选入 同样的原因:它以不信任的文字捕捉未识别形状的证书—— a 依赖性错误字符串 – 并排除 URL 、 主机名和 UUIDs仍然清晰可见.
-   `maxDepth` ——嵌入值崩溃到的深度 `[REDACTED]`。 。 。 . 默认无界.
-   `maxArrayLength` ——保留数组条目数. 默认无界.

## 数据犬浏览器 SDKs

`scrubRumEvent` 财务报告和审定财务报表 `scrubLogEvent` 擦除一个事件 **到位** 联 合 国 `beforeSend` 钩子,默认为 `BROWSER_REDACT_OPTIONS` (关键材料文本) 模式, 深度 4, 20个阵列条目 —— 钩子运行在 UI 线程上 活动).

```ts
import { scrubLogEvent, scrubRumEvent } from '@dynamic-labs/redaction';

datadogRum.init({ beforeSend: (event) => scrubRumEvent(event) });
datadogLogs.init({ beforeSend: (event) => scrubLogEvent(event) });
```

`scrubRumEvent` 编辑含有关键材料的动作目标名称,用于 错误事件、错误消息和堆栈 . `scrubLogEvent` 编辑消息, 错误消息和堆栈,以及每个调用器提供的属性(Datadog's 类型 `message`编号 :`date`编号 :`status` 它们被分开处理 所以它们的形状能活下来.

两个都回来 `false` ——放弃事件——针对浏览器提出的错误 钱包扩展名,其内页脚本在页面中运行,否则将主导 a 覆盖所有错误显示器 . `scrubLogEvent` 还降低瞬间网络的等级 失败( 锁定或中止请求, EIP-1193 提供者断开) `error` 改为 `warn` 而不是放弃它. `isExtensionNoise`, (中文(简体) ), `isNetworkError` 财务报告和审定财务报表 `downgradeNetworkErrors` 用于对事件进行分类的呼叫者导出 他们自己.

## 常见问题

### @dynamic-labs/redaction 是什么？

由Dynamic服务和浏览器客户端共享的证书和密钥-材料编辑功能:一个密钥拒绝列表,证书-形状的自由文本模式,一个不可移动的深重编辑器,以及Send洗涤器之前的Datadog RUM/Logs\. 没有皮诺,节点内置——浏览器-s

### 如何安装 @dynamic-labs/redaction？

在项目目录运行 npm install @dynamic-labs/redaction，或使用 pnpm add / yarn add / bun add。

### @dynamic-labs/redaction 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @dynamic-labs/redaction 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @dynamic-labs/redaction 可以商用吗？

@dynamic-labs/redaction 使用 未声明 许可。package\.json 没有声明许可证。没有许可证的代码默认保留全部权利，商用前请联系作者或查看仓库中的 LICENSE 文件。以上为概括，不构成法律意见，请以许可原文为准。

### @dynamic-labs/redaction 的下载量有多少？

根据 npm 官方下载统计，@dynamic-labs/redaction 在 2026/10/13 – 2026/11/11 这 30 天内被下载 179,147 次，日均约 5,972 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @dynamic-labs/redaction 还在维护吗？

最新版本 1\.1\.1 发布于 2026/10/23（21 天前）；至今共发布 5 个版本，其中过去 12 个月发布了 5 个；首次发布于 2026/09/11。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

