散头核心
分解内容保护引擎 - 检测和编辑PII,秘密,即时注射,以及系统在到达LLMS前迅速漏出文本.
部分 散头 项目.
安装
npm install @bulkhead-ai/core
也可用 @floatingsidewal/bulkhead-core 通过 GitHub 软件包。 。 。 .
快速启动
import { createEngine } from "@bulkhead-ai/core";
const engine = createEngine();
// Fast regex-only scan (sub-millisecond)
const result = await engine.analyze("My SSN is 123-45-6789 and key is AKIAIOSFODNN7EXAMPLE");
console.log(result.passed); // false
console.log(result.detections); // [{ entityType: "US_SSN", ... }, { entityType: "AWS_ACCESS_KEY", ... }]
// Scan and redact
const redacted = await engine.scan("Call me at 555-867-5309");
console.log(redacted.redactedText); // "Call me at [REDACTED-US_PHONE]"
使 JSON 兼容文档具有安全性
sanitizeDocument() 是推荐对象和数组的 API。 它扫描
在突变前按键和字符串值,一次解决重叠检测,
为文档使用一个一致性地图和时间锁定,以及报告
与后处理安全分开进行预处理检测.
import { sanitizeDocument } from "@bulkhead-ai/core";
const result = await sanitizeDocument(
{
contact: "[email protected]",
opened: "2026-07-10",
events: [{ occurred: "07/12/2026" }],
},
"eval",
{ localizedDateOrder: "mdy" },
);
if (!result.metadata.postTreatment.safe ||
!result.metadata.postTreatment.structurallyValid) {
throw new Error("Sanitization boundary rejected output");
}
console.log(result.value);
console.log(result.metadata.detectedRisk);
本地化的日期需要明确 mdy, (中文(简体) ), dmy,或 reject-ambiguous
选择。 被检测到的模糊、无效或不支持的日期被替换
与 [REDACTED-DATE_TIME] 而不是没有变化地通过.
它检测到什么
| 类别 | 覆盖范围 |
|---|---|
| 临 二 | 20多个国家的45个以上实体类型(SSN、信用卡、IBAN、电话、电子邮件、医疗身份证、国家身份证) |
| 秘诀 | 共有13个类别(AWS、Azure、GCP、GitHub、Slack、Frede、数据库证书、私人密钥)的154种模式 |
| 快速注射 | 16+模式(角色游戏攻击,DAN模式,指令覆盖) |
| 系统急漏 | 7+图案(即时取出,"重复上面的一切") |
所有结构模式都酌情包括验收和验证(Luhn, IBAN mod-97, Verhoeff).
策略扫描
import { createEngine, getPolicy } from "@bulkhead-ai/core";
const engine = createEngine({
enabled: true,
debounceMs: 500,
guards: {
pii: { enabled: true },
secret: { enabled: true },
injection: { enabled: true },
contentSafety: { enabled: false },
},
cascade: {
modelEnabled: false,
escalationThreshold: 0.75,
contextSentences: 3,
modelId: "Xenova/bert-base-NER",
},
policy: "strict",
});
const policy = getPolicy("strict");
const { risk } = await engine.policyScan(inputText, policy);
console.log(risk.level); // "critical" | "high" | "medium" | "low" | "none"
console.log(risk.issues); // classified issues by category and severity
console.log(risk.testDataFlags); // synthetic/eval data detected
BERT 层( 可选)
名称、地点和组织等背景实体:
npm install @huggingface/transformers
const engine = createEngine({
// ...
cascade: { modelEnabled: true, /* ... */ },
});
const result = await engine.deepScan("Send the report to John Smith at Acme Corp");
BERT模型(~29 MB)在第一推论上下载并用工人线程运行. 没有要求 GPU .
文档
见 如何向导 关于综合实例和 完整文档 用于架构、部署和API参考.
许可证
麻省理工学院