@nodii/telemetry 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/audit-buffer.d.ts +58 -0
- package/dist/audit-buffer.d.ts.map +1 -0
- package/dist/audit-buffer.js +126 -0
- package/dist/audit-buffer.js.map +1 -0
- package/dist/hono/audit-well-known.d.ts +47 -0
- package/dist/hono/audit-well-known.d.ts.map +1 -0
- package/dist/hono/audit-well-known.js +31 -0
- package/dist/hono/audit-well-known.js.map +1 -0
- package/dist/hono/index.d.ts +1 -0
- package/dist/hono/index.d.ts.map +1 -1
- package/dist/hono/index.js +2 -0
- package/dist/hono/index.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/redaction.d.ts +19 -3
- package/dist/redaction.d.ts.map +1 -1
- package/dist/redaction.js +62 -19
- package/dist/redaction.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import type { AuditArgs } from "./audit.js";
|
|
2
|
+
/** Options for {@link AuditBuffer}. */
|
|
3
|
+
export interface AuditBufferOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Sink for flushed coalesced rows — typically `(args) => audit.emit(args)`
|
|
6
|
+
* (Pattern C, out-of-band: the writer owns its own tx). Errors are routed to
|
|
7
|
+
* {@link AuditBufferOptions.onFlushError}; a rejecting sink never throws out
|
|
8
|
+
* of `record()`.
|
|
9
|
+
*/
|
|
10
|
+
flush: (args: AuditArgs) => void | Promise<void>;
|
|
11
|
+
/** Coalesce window in ms. Default 60_000 (§ 9 default 60s). */
|
|
12
|
+
windowMs?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Upper bound on the per-row `metadata.queries` array, to cap memory under a
|
|
15
|
+
* read flood. `read_count` stays accurate; queries beyond the cap are dropped
|
|
16
|
+
* (the count records that they happened). Default 200.
|
|
17
|
+
*/
|
|
18
|
+
maxQueries?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Called when the `flush` sink throws/rejects, instead of the rejection being
|
|
21
|
+
* swallowed silently. The buffer entry is already removed when this fires, so
|
|
22
|
+
* a coalesced row CAN be lost on a sink failure — wire this to your logger.
|
|
23
|
+
*/
|
|
24
|
+
onFlushError?: (err: unknown, key: string) => void;
|
|
25
|
+
}
|
|
26
|
+
/** Per-read input to {@link AuditBuffer.record}. */
|
|
27
|
+
export interface AuditReadRecord {
|
|
28
|
+
/**
|
|
29
|
+
* The request path PATTERN (templated, not the concrete path) — e.g.
|
|
30
|
+
* `/invoices/:id`, NOT `/invoices/inv_123`. Part of the coalesce key so the
|
|
31
|
+
* same logical endpoint collapses regardless of path params.
|
|
32
|
+
*/
|
|
33
|
+
requestPathPattern: string;
|
|
34
|
+
/** Optional per-read query detail appended to `metadata.queries`. */
|
|
35
|
+
query?: Record<string, unknown>;
|
|
36
|
+
}
|
|
37
|
+
export declare class AuditBuffer {
|
|
38
|
+
#private;
|
|
39
|
+
constructor(opts: AuditBufferOptions);
|
|
40
|
+
/** Number of distinct coalesce keys currently buffered (in-window). */
|
|
41
|
+
get size(): number;
|
|
42
|
+
/**
|
|
43
|
+
* Record one READ. The first read for a key opens the window + schedules its
|
|
44
|
+
* flush; later reads in the same window bump `read_count` + `last_read_at` and
|
|
45
|
+
* append `query` (up to `maxQueries`). Do NOT feed mutations here.
|
|
46
|
+
*/
|
|
47
|
+
record(args: AuditArgs, rec: AuditReadRecord): void;
|
|
48
|
+
/** Flush + clear the timer for one key (no-op if absent). */
|
|
49
|
+
flush(key: string): Promise<void>;
|
|
50
|
+
/** Flush every buffered key (e.g. a periodic safety sweep). */
|
|
51
|
+
flushAll(): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Graceful shutdown: flush all pending coalesced rows + clear timers. After
|
|
54
|
+
* `close()`, `record()` throws. Idempotent.
|
|
55
|
+
*/
|
|
56
|
+
close(): Promise<void>;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=audit-buffer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-buffer.d.ts","sourceRoot":"","sources":["../src/audit-buffer.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE5C,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC;;;;;OAKG;IACH,KAAK,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAYD,oDAAoD;AACpD,MAAM,WAAW,eAAe;IAC9B;;;;OAIG;IACH,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAoBD,qBAAa,WAAW;;gBAYV,IAAI,EAAE,kBAAkB;IAOpC,uEAAuE;IACvE,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,GAAG,IAAI;IAuCnD,6DAA6D;IACvD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,+DAA+D;IACzD,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IAO/B;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CA2B7B"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
const DEFAULT_WINDOW_MS = 60_000;
|
|
2
|
+
const DEFAULT_MAX_QUERIES = 200;
|
|
3
|
+
/**
|
|
4
|
+
* Builds the coalesce key `(actor, resource_type, request_path_pattern)` (§ 9).
|
|
5
|
+
* Actor is the internal `actorId` when present, else the `actorExternalId`, else
|
|
6
|
+
* the literal `"anon"` so anonymous reads still coalesce together (they don't
|
|
7
|
+
* cross-contaminate identified actors — different actor segment).
|
|
8
|
+
*/
|
|
9
|
+
function coalesceKey(args, requestPathPattern) {
|
|
10
|
+
const actor = args.actorId ?? args.actorExternalId ?? "anon";
|
|
11
|
+
// tenant_id is part of the key (beyond doctrine §9's literal tuple) so anon /
|
|
12
|
+
// multi-tenant-actor reads of the same resource never coalesce ACROSS tenants
|
|
13
|
+
// into one mis-attributed row. Strictly finer — never merges buckets.
|
|
14
|
+
const tenant = args.tenantId ?? "no-tenant";
|
|
15
|
+
return `${tenant} ${actor} ${args.resourceType} ${requestPathPattern}`;
|
|
16
|
+
}
|
|
17
|
+
export class AuditBuffer {
|
|
18
|
+
#flush;
|
|
19
|
+
#windowMs;
|
|
20
|
+
#maxQueries;
|
|
21
|
+
#onFlushError;
|
|
22
|
+
#entries = new Map();
|
|
23
|
+
// In-flight TIMER-triggered flushes (fire-and-forget Promises). `close()`
|
|
24
|
+
// awaits these so a flush that the window timer kicked off just before
|
|
25
|
+
// shutdown finishes before close() resolves — no lost / mid-flight rows.
|
|
26
|
+
#inflight = new Set();
|
|
27
|
+
#closed = false;
|
|
28
|
+
constructor(opts) {
|
|
29
|
+
this.#flush = opts.flush;
|
|
30
|
+
this.#windowMs = opts.windowMs ?? DEFAULT_WINDOW_MS;
|
|
31
|
+
this.#maxQueries = opts.maxQueries ?? DEFAULT_MAX_QUERIES;
|
|
32
|
+
this.#onFlushError = opts.onFlushError;
|
|
33
|
+
}
|
|
34
|
+
/** Number of distinct coalesce keys currently buffered (in-window). */
|
|
35
|
+
get size() {
|
|
36
|
+
return this.#entries.size;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Record one READ. The first read for a key opens the window + schedules its
|
|
40
|
+
* flush; later reads in the same window bump `read_count` + `last_read_at` and
|
|
41
|
+
* append `query` (up to `maxQueries`). Do NOT feed mutations here.
|
|
42
|
+
*/
|
|
43
|
+
record(args, rec) {
|
|
44
|
+
if (this.#closed) {
|
|
45
|
+
throw new Error("AuditBuffer.record called after close()");
|
|
46
|
+
}
|
|
47
|
+
const key = coalesceKey(args, rec.requestPathPattern);
|
|
48
|
+
const now = new Date();
|
|
49
|
+
const existing = this.#entries.get(key);
|
|
50
|
+
if (existing) {
|
|
51
|
+
existing.readCount += 1;
|
|
52
|
+
existing.lastReadAt = now;
|
|
53
|
+
if (rec.query && existing.queries.length < this.#maxQueries) {
|
|
54
|
+
existing.queries.push({ ...rec.query }); // snapshot — no caller aliasing
|
|
55
|
+
}
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
// Snapshot args (incl. its metadata) + the seed query so a caller
|
|
59
|
+
// reusing/mutating them after record() can't alter the buffered (and later
|
|
60
|
+
// coalesced) row. The seed respects maxQueries (maxQueries=0 keeps none).
|
|
61
|
+
const entry = {
|
|
62
|
+
base: args.metadata
|
|
63
|
+
? { ...args, metadata: { ...args.metadata } }
|
|
64
|
+
: { ...args },
|
|
65
|
+
readCount: 1,
|
|
66
|
+
firstReadAt: now,
|
|
67
|
+
lastReadAt: now,
|
|
68
|
+
queries: rec.query && this.#maxQueries > 0 ? [{ ...rec.query }] : [],
|
|
69
|
+
// The window runs from the FIRST read; later reads do not extend it.
|
|
70
|
+
// Track the timer's flush Promise so close() can await it.
|
|
71
|
+
timer: setTimeout(() => {
|
|
72
|
+
const p = this.#flushKey(key);
|
|
73
|
+
this.#inflight.add(p);
|
|
74
|
+
void p.finally(() => this.#inflight.delete(p));
|
|
75
|
+
}, this.#windowMs),
|
|
76
|
+
};
|
|
77
|
+
// Don't keep the process alive solely for a pending flush (Node/Bun).
|
|
78
|
+
entry.timer.unref?.();
|
|
79
|
+
this.#entries.set(key, entry);
|
|
80
|
+
}
|
|
81
|
+
/** Flush + clear the timer for one key (no-op if absent). */
|
|
82
|
+
async flush(key) {
|
|
83
|
+
await this.#flushKey(key);
|
|
84
|
+
}
|
|
85
|
+
/** Flush every buffered key (e.g. a periodic safety sweep). */
|
|
86
|
+
async flushAll() {
|
|
87
|
+
const keys = [...this.#entries.keys()];
|
|
88
|
+
for (const key of keys) {
|
|
89
|
+
await this.#flushKey(key);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Graceful shutdown: flush all pending coalesced rows + clear timers. After
|
|
94
|
+
* `close()`, `record()` throws. Idempotent.
|
|
95
|
+
*/
|
|
96
|
+
async close() {
|
|
97
|
+
this.#closed = true;
|
|
98
|
+
await this.flushAll();
|
|
99
|
+
// Drain any TIMER-triggered flush that fired before/during close().
|
|
100
|
+
if (this.#inflight.size > 0) {
|
|
101
|
+
await Promise.allSettled([...this.#inflight]);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
async #flushKey(key) {
|
|
105
|
+
const entry = this.#entries.get(key);
|
|
106
|
+
if (!entry)
|
|
107
|
+
return;
|
|
108
|
+
clearTimeout(entry.timer);
|
|
109
|
+
this.#entries.delete(key);
|
|
110
|
+
const coalesced = {
|
|
111
|
+
...entry.base,
|
|
112
|
+
readCount: entry.readCount,
|
|
113
|
+
firstReadAt: entry.firstReadAt,
|
|
114
|
+
lastReadAt: entry.lastReadAt,
|
|
115
|
+
metadata: { ...entry.base.metadata, queries: entry.queries },
|
|
116
|
+
};
|
|
117
|
+
try {
|
|
118
|
+
await this.#flush(coalesced);
|
|
119
|
+
}
|
|
120
|
+
catch (err) {
|
|
121
|
+
if (this.#onFlushError)
|
|
122
|
+
this.#onFlushError(err, key);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=audit-buffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-buffer.js","sourceRoot":"","sources":["../src/audit-buffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { MiddlewareHandler } from "hono";
|
|
2
|
+
/**
|
|
3
|
+
* The audit registry served at `/.well-known/audit-registry.json`, produced by
|
|
4
|
+
* a service's `audit:codegen` (doctrine § 5.3). Served verbatim — the service's
|
|
5
|
+
* codegen owns the exact shape; the index signature keeps the plugin
|
|
6
|
+
* forward-compatible with registry-schema additions.
|
|
7
|
+
*/
|
|
8
|
+
export interface AuditRegistry {
|
|
9
|
+
service: string;
|
|
10
|
+
actions?: string[];
|
|
11
|
+
sensitive_read_methods?: string[];
|
|
12
|
+
generated_at?: string;
|
|
13
|
+
[key: string]: unknown;
|
|
14
|
+
}
|
|
15
|
+
/** Canonical well-known path (§ 15.1). */
|
|
16
|
+
export declare const AUDIT_REGISTRY_WELL_KNOWN_PATH = "/.well-known/audit-registry.json";
|
|
17
|
+
/** Options for {@link auditWellKnownPlugin}. */
|
|
18
|
+
export interface AuditWellKnownOptions {
|
|
19
|
+
/**
|
|
20
|
+
* The bundled registry object (e.g. `import registry from "./build/audit-registry.json"`),
|
|
21
|
+
* or a loader returning it (sync or async — e.g. read-from-disk at first
|
|
22
|
+
* request). Served verbatim as JSON.
|
|
23
|
+
*/
|
|
24
|
+
registry: AuditRegistry | (() => AuditRegistry | Promise<AuditRegistry>);
|
|
25
|
+
/** Route path. Default {@link AUDIT_REGISTRY_WELL_KNOWN_PATH}. */
|
|
26
|
+
path?: string;
|
|
27
|
+
/**
|
|
28
|
+
* `Cache-Control` for the response. The registry only changes on deploy, so a
|
|
29
|
+
* short cache is safe. Default `public, max-age=300`. Pass `""` to omit.
|
|
30
|
+
*/
|
|
31
|
+
cacheControl?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Hono middleware that serves the audit registry at the well-known path and
|
|
35
|
+
* passes every other request through untouched.
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* import { Hono } from "hono";
|
|
39
|
+
* import registry from "./build/audit-registry.json";
|
|
40
|
+
* import { auditWellKnownPlugin } from "@nodii/telemetry/hono";
|
|
41
|
+
*
|
|
42
|
+
* const app = new Hono();
|
|
43
|
+
* app.use(auditWellKnownPlugin({ registry }));
|
|
44
|
+
* // GET /.well-known/audit-registry.json -> the bundled registry JSON
|
|
45
|
+
*/
|
|
46
|
+
export declare function auditWellKnownPlugin(opts: AuditWellKnownOptions): MiddlewareHandler;
|
|
47
|
+
//# sourceMappingURL=audit-well-known.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-well-known.d.ts","sourceRoot":"","sources":["../../src/hono/audit-well-known.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAW,iBAAiB,EAAQ,MAAM,MAAM,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,0CAA0C;AAC1C,eAAO,MAAM,8BAA8B,qCACP,CAAC;AAErC,gDAAgD;AAChD,MAAM,WAAW,qBAAqB;IACpC;;;;OAIG;IACH,QAAQ,EAAE,aAAa,GAAG,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;IACzE,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,qBAAqB,GAC1B,iBAAiB,CAYnB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/** Canonical well-known path (§ 15.1). */
|
|
2
|
+
export const AUDIT_REGISTRY_WELL_KNOWN_PATH = "/.well-known/audit-registry.json";
|
|
3
|
+
const DEFAULT_CACHE_CONTROL = "public, max-age=300";
|
|
4
|
+
/**
|
|
5
|
+
* Hono middleware that serves the audit registry at the well-known path and
|
|
6
|
+
* passes every other request through untouched.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* import { Hono } from "hono";
|
|
10
|
+
* import registry from "./build/audit-registry.json";
|
|
11
|
+
* import { auditWellKnownPlugin } from "@nodii/telemetry/hono";
|
|
12
|
+
*
|
|
13
|
+
* const app = new Hono();
|
|
14
|
+
* app.use(auditWellKnownPlugin({ registry }));
|
|
15
|
+
* // GET /.well-known/audit-registry.json -> the bundled registry JSON
|
|
16
|
+
*/
|
|
17
|
+
export function auditWellKnownPlugin(opts) {
|
|
18
|
+
const path = opts.path ?? AUDIT_REGISTRY_WELL_KNOWN_PATH;
|
|
19
|
+
const cacheControl = opts.cacheControl ?? DEFAULT_CACHE_CONTROL;
|
|
20
|
+
return async (c, next) => {
|
|
21
|
+
if (c.req.method !== "GET" || c.req.path !== path)
|
|
22
|
+
return next();
|
|
23
|
+
const registry = typeof opts.registry === "function"
|
|
24
|
+
? await opts.registry()
|
|
25
|
+
: opts.registry;
|
|
26
|
+
if (cacheControl)
|
|
27
|
+
c.header("Cache-Control", cacheControl);
|
|
28
|
+
return c.json(registry);
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=audit-well-known.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audit-well-known.js","sourceRoot":"","sources":["../../src/hono/audit-well-known.ts"],"names":[],"mappings":"AAmCA,0CAA0C;AAC1C,MAAM,CAAC,MAAM,8BAA8B,GACzC,kCAAkC,CAAC;AAmBrC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAEpD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,oBAAoB,CAClC,IAA2B;IAE3B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,8BAA8B,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,qBAAqB,CAAC;IAChE,OAAO,KAAK,EAAE,CAAU,EAAE,IAAU,EAAE,EAAE;QACtC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI;YAAE,OAAO,IAAI,EAAE,CAAC;QACjE,MAAM,QAAQ,GACZ,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU;YACjC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE;YACvB,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpB,IAAI,YAAY;YAAE,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QAC1D,OAAO,CAAC,CAAC,IAAI,CAAC,QAAmC,CAAC,CAAC;IACrD,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/hono/index.d.ts
CHANGED
|
@@ -61,4 +61,5 @@ export interface HonoTelemetryOptions {
|
|
|
61
61
|
* app.use("*", honoTelemetry());
|
|
62
62
|
*/
|
|
63
63
|
export declare function honoTelemetry(options?: HonoTelemetryOptions): MiddlewareHandler;
|
|
64
|
+
export { AUDIT_REGISTRY_WELL_KNOWN_PATH, type AuditRegistry, type AuditWellKnownOptions, auditWellKnownPlugin, } from "./audit-well-known.js";
|
|
64
65
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/hono/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hono/index.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAgBvD,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;OAYG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAyED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,iBAAiB,CAmGnB"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hono/index.ts"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,MAAM,CAAC;AAgBvD,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,gBAAgB,CAAC;AAEhD,yCAAyC;AACzC,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;;;OAYG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;;;;;;OASG;IACH,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC;IAClC;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACtC;AAyED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,GAAE,oBAAyB,GACjC,iBAAiB,CAmGnB;AAGD,OAAO,EACL,8BAA8B,EAC9B,KAAK,aAAa,EAClB,KAAK,qBAAqB,EAC1B,oBAAoB,GACrB,MAAM,uBAAuB,CAAC"}
|
package/dist/hono/index.js
CHANGED
|
@@ -214,4 +214,6 @@ export function honoTelemetry(options = {}) {
|
|
|
214
214
|
});
|
|
215
215
|
};
|
|
216
216
|
}
|
|
217
|
+
// ---- audit-registry well-known route (audit doctrine § 15.1 / § 5.3) ----
|
|
218
|
+
export { AUDIT_REGISTRY_WELL_KNOWN_PATH, auditWellKnownPlugin, } from "./audit-well-known.js";
|
|
217
219
|
//# sourceMappingURL=index.js.map
|
package/dist/hono/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hono/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hono/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ export type { CounterHandle, GaugeHandle, HistogramHandle, MetricKind, MetricReg
|
|
|
13
13
|
export { _getAuditChain, _hasAnyAuditWriter, _resetAuditChainForTests, _resetDefaultAuditWriterForTests, _resetAuditWriterForTests, _setAuditChain, _setAuditWriter, _setDefaultAuditWriterProvider, audit, AUDIT_ACTOR_KINDS, AUDIT_OUTCOMES, } from "./audit.js";
|
|
14
14
|
export type { ActorKind, ActorStamp, AuditArgs, AuditChainAdapter, AuditEvent, AuditEventRow, AuditOutcome, AuditWriter, DefaultAuditWriterProvider, } from "./audit.js";
|
|
15
15
|
export { TelemetryAuditWriterMissing } from "./audit.js";
|
|
16
|
+
export { AuditBuffer } from "./audit-buffer.js";
|
|
17
|
+
export type { AuditBufferOptions, AuditReadRecord, } from "./audit-buffer.js";
|
|
16
18
|
export { configureTelemetry } from "./configure.js";
|
|
17
19
|
export type { ConfigureTelemetryOptions } from "./configure.js";
|
|
18
20
|
export { intent, IntentTypeNotRegistered } from "./intent.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -41,6 +41,7 @@ export { forensicParentValue, parseTraceparent, resolveSpanParent, } from "./tra
|
|
|
41
41
|
export { metrics, MetricVocabularyError, recordMetric } from "./metrics.js";
|
|
42
42
|
export { _getAuditChain, _hasAnyAuditWriter, _resetAuditChainForTests, _resetDefaultAuditWriterForTests, _resetAuditWriterForTests, _setAuditChain, _setAuditWriter, _setDefaultAuditWriterProvider, audit, AUDIT_ACTOR_KINDS, AUDIT_OUTCOMES, } from "./audit.js";
|
|
43
43
|
export { TelemetryAuditWriterMissing } from "./audit.js";
|
|
44
|
+
export { AuditBuffer } from "./audit-buffer.js";
|
|
44
45
|
export { configureTelemetry } from "./configure.js";
|
|
45
46
|
export { intent, IntentTypeNotRegistered } from "./intent.js";
|
|
46
47
|
export { agentInvocable, readAgentRegistry, AGENT_INVOCABLE_METADATA, } from "./agent-invocable.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,0EAA0E;AAC1E,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,0EAA0E;AAC1E,mEAAmE;AACnE,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AACpE,0EAA0E;AAC1E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,wEAAwE;AACxE,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,uEAAuE;AACvE,8DAA8D;AAC9D,mDAAmD;AACnD,EAAE;AACF,oEAAoE;AACpE,gBAAgB;AAChB,EAAE;AACF,oEAAoE;AACpE,gEAAgE;AAChE,0DAA0D;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOnD,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWjD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAS5E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,8BAA8B,EAC9B,KAAK,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA0BrD,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,0EAA0E;AAC1E,EAAE;AACF,0EAA0E;AAC1E,yEAAyE;AACzE,4EAA4E;AAC5E,2EAA2E;AAC3E,4EAA4E;AAC5E,wEAAwE;AACxE,0EAA0E;AAC1E,mEAAmE;AACnE,0EAA0E;AAC1E,wEAAwE;AACxE,oEAAoE;AACpE,0EAA0E;AAC1E,8EAA8E;AAC9E,0EAA0E;AAC1E,8EAA8E;AAC9E,4EAA4E;AAC5E,wEAAwE;AACxE,EAAE;AACF,wEAAwE;AACxE,oEAAoE;AACpE,uEAAuE;AACvE,8DAA8D;AAC9D,mDAAmD;AACnD,EAAE;AACF,oEAAoE;AACpE,gBAAgB;AAChB,EAAE;AACF,oEAAoE;AACpE,gEAAgE;AAChE,0DAA0D;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EACL,UAAU,EACV,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAOnD,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAWjD,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,OAAO,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAS5E,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,wBAAwB,EACxB,gCAAgC,EAChC,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,8BAA8B,EAC9B,KAAK,EACL,iBAAiB,EACjB,cAAc,GACf,MAAM,YAAY,CAAC;AAYpB,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEpD,OAAO,EAAE,MAAM,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,cAAc,EACd,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA0BrD,OAAO,EACL,uBAAuB,EACvB,eAAe,EACf,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,YAAY,CAAC"}
|
package/dist/redaction.d.ts
CHANGED
|
@@ -44,9 +44,25 @@ export interface RedactionConfig {
|
|
|
44
44
|
*/
|
|
45
45
|
export declare function isLuhnValid(digits: string): boolean;
|
|
46
46
|
/**
|
|
47
|
-
* Mask Luhn-valid PAN-shaped digit runs in a string. A run
|
|
48
|
-
*
|
|
49
|
-
*
|
|
47
|
+
* Mask Luhn-valid PAN-shaped digit runs in a string. A digit run (its
|
|
48
|
+
* bare digits, ignoring single space/dash grouping separators) is masked
|
|
49
|
+
* to `[REDACTED]` ONLY when the WHOLE run is 12–19 digits AND passes
|
|
50
|
+
* `isLuhnValid`. Two deliberate properties:
|
|
51
|
+
*
|
|
52
|
+
* - LEAK-SAFE (boundary-free): detection does NOT depend on `\b` word
|
|
53
|
+
* boundaries, so a PAN abutting letters (`a4111111111111111b`), inside
|
|
54
|
+
* an array element, or mid-token is masked just the same. This closes
|
|
55
|
+
* the word-boundary under-redaction leak the old loose `credit_card`
|
|
56
|
+
* regex had.
|
|
57
|
+
* - NOT OVER-REDACTING: we Luhn-check the run AS A WHOLE rather than
|
|
58
|
+
* sliding a window over sub-sequences. A 16-digit order id that fails
|
|
59
|
+
* Luhn (`1234567890123456`) is NOT masked even though it coincidentally
|
|
60
|
+
* contains a Luhn-valid 12-digit sub-sequence — sub-window sliding
|
|
61
|
+
* would have wrongly masked it. A run longer than 19 digits is not a
|
|
62
|
+
* standard PAN representation and is left intact.
|
|
63
|
+
*
|
|
64
|
+
* Grouping separators (single space/dash between digits) inside the run
|
|
65
|
+
* are spanned by the mask; surrounding non-digit text is preserved.
|
|
50
66
|
*/
|
|
51
67
|
export declare function scrubPanString(s: string): string;
|
|
52
68
|
/**
|
package/dist/redaction.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAyCnC,CAAC;
|
|
1
|
+
{"version":3,"file":"redaction.d.ts","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAaA;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,EAAE,SAAS,MAAM,EAyCnC,CAAC;AAkDX;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,gEAAgE;IAChE,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAuBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBnD;AAkBD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAUhD;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,CAAC,EAAE,eAAe,GACpB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAGzB;AA2BD;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,eAAe,GAAG,MAAM,CAErE;AAiBD;;;;;;;;GAQG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,IACzB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,CAAC,CAAA;CAAE,GACzB;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAElC,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,GAAG,CAAC,EAAE,eAAe,GACpB,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAS1C;AAED,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,MAAM,EACT,GAAG,CAAC,EAAE,eAAe,GACpB,eAAe,CAAC,MAAM,CAAC,CASzB"}
|
package/dist/redaction.js
CHANGED
|
@@ -67,6 +67,21 @@ const PII_FIELD_SET = new Set(PII_FIELD_NAMES.map((s) => s.toLowerCase()));
|
|
|
67
67
|
*
|
|
68
68
|
* Each regex is anchored loosely; matches are replaced with [REDACTED].
|
|
69
69
|
* Order matters: more-specific patterns first.
|
|
70
|
+
*
|
|
71
|
+
* NOTE: card-number (PAN) masking is NOT in this list. It is handled by
|
|
72
|
+
* the dedicated Luhn-validated {@link scrubPanString} pass which runs
|
|
73
|
+
* BEFORE these regexes (see {@link redactStringResolved}). The previous
|
|
74
|
+
* loose `credit_card` regex (`\b(?:\d[ -]?){13,19}\b`) was removed for
|
|
75
|
+
* two reasons:
|
|
76
|
+
* 1. OVER-REDACTION — it masked ANY 13–19-digit run regardless of the
|
|
77
|
+
* Luhn checksum, so a non-card numeric token (an order id, a 16-digit
|
|
78
|
+
* reference number) was wrongly masked. The Luhn scrubber only masks
|
|
79
|
+
* runs that actually pass the card checksum.
|
|
80
|
+
* 2. UNDER-REDACTION (PII LEAK) — `\b` requires a word boundary, so a
|
|
81
|
+
* PAN abutting a letter (`a4111111111111111b`) had no boundary and
|
|
82
|
+
* was NOT masked, leaking the card number. The Luhn scrubber detects
|
|
83
|
+
* digit runs by their own bounds (non-digit OR string edge), so it
|
|
84
|
+
* masks a PAN ANYWHERE in the string, adjacent characters and all.
|
|
70
85
|
*/
|
|
71
86
|
const REGEX_PATTERNS = [
|
|
72
87
|
// Bearer tokens / JWT-shaped: 3 base64-ish segments separated by dots.
|
|
@@ -74,11 +89,6 @@ const REGEX_PATTERNS = [
|
|
|
74
89
|
name: "jwt",
|
|
75
90
|
re: /\beyJ[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\b/g,
|
|
76
91
|
},
|
|
77
|
-
// Credit-card-like: 13–19 digits, possibly grouped by spaces or dashes.
|
|
78
|
-
{
|
|
79
|
-
name: "credit_card",
|
|
80
|
-
re: /\b(?:\d[ -]?){13,19}\b/g,
|
|
81
|
-
},
|
|
82
92
|
// Email addresses.
|
|
83
93
|
{
|
|
84
94
|
name: "email",
|
|
@@ -138,19 +148,52 @@ export function isLuhnValid(digits) {
|
|
|
138
148
|
}
|
|
139
149
|
return sum % 10 === 0;
|
|
140
150
|
}
|
|
141
|
-
// PAN candidate:
|
|
142
|
-
// dashes (the common `4111 1111 1111 1111`
|
|
143
|
-
//
|
|
144
|
-
|
|
151
|
+
// PAN candidate token: a maximal run of digits that may be internally
|
|
152
|
+
// grouped by single spaces or dashes (the common `4111 1111 1111 1111`
|
|
153
|
+
// and `4111-1111-1111-1111` shapes), plus the contiguous bare-digit form
|
|
154
|
+
// (`4111111111111111`).
|
|
155
|
+
//
|
|
156
|
+
// Crucially this is NOT `\b`-anchored. A PAN abutting letters
|
|
157
|
+
// (`a4111111111111111b`) has no word boundary on either side, so a
|
|
158
|
+
// `\b`-anchored pattern would skip it and LEAK the card number. We instead
|
|
159
|
+
// match the digit/separator token wherever it occurs and let the Luhn +
|
|
160
|
+
// window logic below decide what (if anything) inside it is a real PAN.
|
|
161
|
+
const PAN_TOKEN_RE = /\d(?:[ -]?\d)*/g;
|
|
162
|
+
// A real card PAN is 12–19 bare digits.
|
|
163
|
+
const PAN_MIN = 12;
|
|
164
|
+
const PAN_MAX = 19;
|
|
145
165
|
/**
|
|
146
|
-
* Mask Luhn-valid PAN-shaped digit runs in a string. A run
|
|
147
|
-
*
|
|
148
|
-
*
|
|
166
|
+
* Mask Luhn-valid PAN-shaped digit runs in a string. A digit run (its
|
|
167
|
+
* bare digits, ignoring single space/dash grouping separators) is masked
|
|
168
|
+
* to `[REDACTED]` ONLY when the WHOLE run is 12–19 digits AND passes
|
|
169
|
+
* `isLuhnValid`. Two deliberate properties:
|
|
170
|
+
*
|
|
171
|
+
* - LEAK-SAFE (boundary-free): detection does NOT depend on `\b` word
|
|
172
|
+
* boundaries, so a PAN abutting letters (`a4111111111111111b`), inside
|
|
173
|
+
* an array element, or mid-token is masked just the same. This closes
|
|
174
|
+
* the word-boundary under-redaction leak the old loose `credit_card`
|
|
175
|
+
* regex had.
|
|
176
|
+
* - NOT OVER-REDACTING: we Luhn-check the run AS A WHOLE rather than
|
|
177
|
+
* sliding a window over sub-sequences. A 16-digit order id that fails
|
|
178
|
+
* Luhn (`1234567890123456`) is NOT masked even though it coincidentally
|
|
179
|
+
* contains a Luhn-valid 12-digit sub-sequence — sub-window sliding
|
|
180
|
+
* would have wrongly masked it. A run longer than 19 digits is not a
|
|
181
|
+
* standard PAN representation and is left intact.
|
|
182
|
+
*
|
|
183
|
+
* Grouping separators (single space/dash between digits) inside the run
|
|
184
|
+
* are spanned by the mask; surrounding non-digit text is preserved.
|
|
149
185
|
*/
|
|
150
186
|
export function scrubPanString(s) {
|
|
151
|
-
return s.replace(
|
|
152
|
-
|
|
153
|
-
|
|
187
|
+
return s.replace(PAN_TOKEN_RE, (token) => {
|
|
188
|
+
let bare = "";
|
|
189
|
+
for (let i = 0; i < token.length; i++) {
|
|
190
|
+
const ch = token.charCodeAt(i);
|
|
191
|
+
if (ch >= 48 && ch <= 57)
|
|
192
|
+
bare += token[i];
|
|
193
|
+
}
|
|
194
|
+
if (bare.length < PAN_MIN || bare.length > PAN_MAX)
|
|
195
|
+
return token;
|
|
196
|
+
return isLuhnValid(bare) ? REDACTED : token;
|
|
154
197
|
});
|
|
155
198
|
}
|
|
156
199
|
/**
|
|
@@ -200,10 +243,10 @@ export function redactString(s, cfg) {
|
|
|
200
243
|
}
|
|
201
244
|
function redactStringResolved(s, resolved) {
|
|
202
245
|
let out = s;
|
|
203
|
-
// PAN-Luhn scrub runs FIRST
|
|
204
|
-
// regex
|
|
205
|
-
//
|
|
206
|
-
//
|
|
246
|
+
// PAN-Luhn scrub runs FIRST (the sole card-number masker — the loose
|
|
247
|
+
// `credit_card` regex was removed). It masks only Luhn-valid card
|
|
248
|
+
// windows, ANYWHERE in the string, so the remaining regex pass below
|
|
249
|
+
// only handles non-card PII shapes (JWT / email / SSN / intl phone).
|
|
207
250
|
if (resolved.scrubPan) {
|
|
208
251
|
out = scrubPanString(out);
|
|
209
252
|
}
|
package/dist/redaction.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,uDAAuD;AACvD,yCAAyC;AACzC,EAAE;AACF,2DAA2D;AAC3D,yEAAyE;AACzE,wEAAwE;AACxE,sEAAsE;AACtE,kEAAkE;AAClE,8BAA8B;AAE9B,MAAM,QAAQ,GAAG,YAAY,CAAC;AAE9B;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,eAAe,GAAsB;IAChD,UAAU;IACV,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,cAAc;IACd,eAAe;IACf,UAAU;IACV,SAAS;IACT,QAAQ;IACR,aAAa;IACb,eAAe;IACf,YAAY;IACZ,QAAQ;IACR,eAAe;IACf,KAAK;IACL,QAAQ;IACR,KAAK;IACL,SAAS;IACT,aAAa;IACb,aAAa;IACb,KAAK;IACL,MAAM;IACN,gBAAgB;IAChB,gBAAgB;IAChB,OAAO;IACP,cAAc;IACd,QAAQ;IACR,OAAO;IACP,eAAe;IACf,SAAS;IACT,QAAQ;IACR,aAAa;IACb,KAAK;IACL,KAAK;IACL,eAAe;IACf,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;IACV,iBAAiB;CACT,CAAC;AAEX,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAE3E
|
|
1
|
+
{"version":3,"file":"redaction.js","sourceRoot":"","sources":["../src/redaction.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nodii/telemetry",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Substrate observability library for the Nodii microservice stack — OTel wrapper, log envelope, intent lifecycle, audit signal, agent registry, context propagation. Spec: planning hub docKey=telemetry.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -91,7 +91,7 @@
|
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
93
|
"devDependencies": {
|
|
94
|
-
"@nodii/audit-chain": "0.
|
|
94
|
+
"@nodii/audit-chain": "0.11.1",
|
|
95
95
|
"drizzle-orm": "^0.45.2",
|
|
96
96
|
"hono": "^4.4.0",
|
|
97
97
|
"ioredis": "^5.4.0",
|