@dynamic-labs/redaction

中文文档
1.1.1发布于 2026/10/23TypeScriptESM + CJS零依赖近 30 天下载 17.9万

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

中文使用文档
文档目录3 节
  1. 公共 API
  2. 结构化编辑
  3. 数据犬浏览器 SDKs

@ 动态- 块/ 红色

由动态后端和浏览器共享的证书和密钥-材料编辑 客户端: 密钥拒绝列表, 证书形状的自由文本模式, 非更改 深重置器和数据犬 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结构事件类型 :

结构化编辑

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 线程上 活动).

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 共发布 5 个版本,首次发布于 2026/09/11;过去 12 个月发布了 5 个版本。

版本发布日期距今
1.1.1latest2026/10/2321 天前
1.1.02026/09/122 个月前
1.0.02026/09/122 个月前
0.0.1-beta.0beta2026/09/112 个月前
0.0.02026/09/112 个月前

关于 @dynamic-labs/redaction 的常见问题

@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 和提交记录判断。