omitly-mcp 0.1.21 → 0.3.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/README.md +18 -1
- package/dist/index.js +402 -32
- package/dist/index.js.map +1 -1
- package/dist/seal.js +79 -1
- package/dist/seal.js.map +1 -1
- package/package.json +1 -1
- package/wasm/leakcheck_wasm.d.ts +16 -0
- package/wasm/leakcheck_wasm.js +48 -8
- package/wasm/leakcheck_wasm_bg.wasm +0 -0
- package/wasm/leakcheck_wasm_bg.wasm.d.ts +3 -2
package/README.md
CHANGED
|
@@ -27,7 +27,7 @@ a seal needs no licence.
|
|
|
27
27
|
|------|--------------|
|
|
28
28
|
| `find_sensitive_regions` | Scans a PDF on-device and returns PII candidates — email/SSN/phone/card plus Australian identifiers (TFN, ABN, ACN, Medicare, Centrelink CRN, IHI, BSB; check-digit validated where a published algorithm exists) — with page + exact coordinates, so the agent selects by entity and never guesses geometry. Best-effort pattern matching, not a compliance assessment. Optional `regions` (`generic`/`us`/`au`) narrows the listed kinds. |
|
|
29
29
|
| `locate_text` | Resolves literal strings the model supplies (names, addresses — anything regex can't catch) to their page + coordinates. The model does the recognition; the engine does the geometry. |
|
|
30
|
-
| `check_redaction` | Audits an ALREADY-redacted PDF and reports whether sensitive text still survives underneath the redaction marks, in prior incremental-update revisions, metadata, AcroForm fields, or attachments — the "did my black boxes actually remove the data?" check, with a coverage report scoping what was inspected. Free tier (wasm) is EVALUATION-marked and capped to a monthly number of free checks; a configured licensed engine is not capped. |
|
|
30
|
+
| `check_redaction` | Audits an ALREADY-redacted PDF and reports whether sensitive text still survives underneath the redaction marks, in prior incremental-update revisions, metadata, AcroForm fields, or attachments — the "did my black boxes actually remove the data?" check, with a coverage report scoping what was inspected. It also returns `verdict` — `safe_to_send`, `needs_review` (with `blocking` for a problem found) or `cannot_verify` — from the same presented-document check the desktop app's "Check any PDF" runs (native `omitly-redact check` or the bundled wasm `check`, one Rust function), with the fixed-copy result sections (what was checked, problems, review, what could not be checked). The full audit v2 report behind the verdict is not returned by this tool; it is available from the engine's `check` command. A verdict is about the check and what it covered (hidden, covered and recoverable content), never a statement that the document is safe. Free tier (wasm) is EVALUATION-marked and capped to a monthly number of free checks; a configured licensed engine is not capped. |
|
|
31
31
|
| `extract_pdf_text` | Extracts a PDF's full text, page by page, PII-MASKED BY DEFAULT so raw sensitive values never flood the model's context window. Each page's `spans` report the CHAR offset (not byte offset) and kind of every masked value, so an agent can still reason about position without seeing the raw value. `masked: false` is a documented, explicit opt-in to raw text. Free, no licence, works out of the box on the bundled wasm engine — a native engine is preferred when available (also enables the `regions` filter; wasm ignores it and scans every pattern). Never renders pages to images. |
|
|
32
32
|
| `redact_by_entity` | One-shot: find + filter by kind (`email`/`ssn`/`phone`/`card`/`tfn`/`abn`/`acn`/`medicare`/`crn`/`ihi`/`bsb`) and/or `regions` + redact + verify. The "just scrub the obvious PII" shortcut. |
|
|
33
33
|
| `redact_pdf` | Removes the underlying data from given regions of a PDF, verifies nothing survives, writes the redacted file, and returns the audit log. |
|
|
@@ -145,6 +145,23 @@ a JSON response from stdout. Any failure returns `{ "ok": false, "error": "..."
|
|
|
145
145
|
"sourceFilename": "...", "outputFilename": "..." }
|
|
146
146
|
```
|
|
147
147
|
|
|
148
|
+
```jsonc
|
|
149
|
+
// stdin — omitly#1267: the Safe to Send verdict over the file AS PRESENTED
|
|
150
|
+
// (the desktop "Check any PDF" check; the bundled wasm `check` returns the
|
|
151
|
+
// same object). Free, read-only, no qpdf.
|
|
152
|
+
{ "command": "check", "pdfPath": "..." }
|
|
153
|
+
// stdout — verdict is one of: safe_to_send | needs_review | cannot_verify;
|
|
154
|
+
// "blocking" marks a problem found (e.g. text recoverable under a box).
|
|
155
|
+
// These are verdicts about the CHECK, scoped to what it covered
|
|
156
|
+
// (result.checked / result.notChecked) — never "the document is safe".
|
|
157
|
+
// "report" is the presented audit v2 report, present only when it verified;
|
|
158
|
+
// "reason_code" is set only for input_too_large / check_failed.
|
|
159
|
+
{ "ok": true, "check": { "verdict": "needs_review", "blocking": true,
|
|
160
|
+
"result": { "state": "needs_review", "summary": "...", "problems": [ { "text": "...", "pages": [1] } ], ... },
|
|
161
|
+
"report": { "schema": "omitly.audit/v2", "release_check": { "mode": "presented", "overall": "unsafe", ... }, ... },
|
|
162
|
+
"reason_code": null } }
|
|
163
|
+
```
|
|
164
|
+
|
|
148
165
|
The MCP tool `verify_document` (omitly#113) shells out to the exact same
|
|
149
166
|
`verify_seal` engine command above — it is the recipient-facing name/wording
|
|
150
167
|
for the same seal/report integrity check, not a separate engine command.
|
package/dist/index.js
CHANGED
|
@@ -31,7 +31,7 @@ import { pathToFileURL } from "node:url";
|
|
|
31
31
|
import { z } from "zod";
|
|
32
32
|
import { ENGINE_OUTPUT_CAP_BYTES, resolveEngineTimeoutMs } from "./engine-config.js";
|
|
33
33
|
import { allowedRoot, confineInput, confineOutput } from "./paths.js";
|
|
34
|
-
import {
|
|
34
|
+
import { isSealError, userVerdictLabel, v2Verdict, AUDIT_V2_OVERALLS, USER_VERDICTS, DECISION_CHANNELS, normalizeSealResult, SEAL_VERDICTS, } from "./seal.js";
|
|
35
35
|
import { evaluationBanner, freeCapRefusal, recordFreeCheck, } from "./usage.js";
|
|
36
36
|
/**
|
|
37
37
|
* WASM fallback for five detection/verify/extract tools — bundled in the npm
|
|
@@ -70,6 +70,7 @@ function wasmScanToFindShape(raw) {
|
|
|
70
70
|
return { ok: false, error: r.error ?? "wasm scan failed" };
|
|
71
71
|
return {
|
|
72
72
|
ok: true,
|
|
73
|
+
scan_complete: r.scan_complete,
|
|
73
74
|
clean: r.clean,
|
|
74
75
|
count: r.count,
|
|
75
76
|
total_findings: r.total_findings,
|
|
@@ -106,6 +107,13 @@ function runWasmExtractText(bytes, masked) {
|
|
|
106
107
|
}
|
|
107
108
|
return JSON.parse(wasmEngine.extract_text(new Uint8Array(bytes), masked));
|
|
108
109
|
}
|
|
110
|
+
/** omitly#1267: the wasm `check` export's JSON, parsed — see
|
|
111
|
+
* `checkViaEngineOrWasm`. */
|
|
112
|
+
function runWasmCheck(bytes) {
|
|
113
|
+
if (!wasmEngine?.check)
|
|
114
|
+
return undefined;
|
|
115
|
+
return JSON.parse(wasmEngine.check(new Uint8Array(bytes)));
|
|
116
|
+
}
|
|
109
117
|
/** Single source of truth for the server version (keeps the MCP handshake in
|
|
110
118
|
* lockstep with the published package). */
|
|
111
119
|
const VERSION = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
@@ -223,6 +231,9 @@ function toOutputRegion(r) {
|
|
|
223
231
|
}
|
|
224
232
|
export const findSensitiveRegionsOutputSchema = z
|
|
225
233
|
.object({
|
|
234
|
+
/** omitly#1473: false = some page or stream could not be read, so `count`
|
|
235
|
+
* speaks only for what was read. Read this before `count`. */
|
|
236
|
+
scanComplete: z.boolean(),
|
|
226
237
|
count: z.number().int().min(0),
|
|
227
238
|
regions: z.array(outputRegionSchema),
|
|
228
239
|
note: z.string().optional(),
|
|
@@ -266,6 +277,16 @@ const auditOutputSchema = z
|
|
|
266
277
|
license: z.string(),
|
|
267
278
|
licensedTo: z.string().nullable(),
|
|
268
279
|
disclosures: z.array(z.string()),
|
|
280
|
+
/** omitly#1104: the report format the engine embedded. */
|
|
281
|
+
auditSchema: z.enum(["omitly.audit/v1", "omitly.audit/v2"]).nullable(),
|
|
282
|
+
/** omitly#1104: the Safe to Send verdict of a v2 output, computed by the
|
|
283
|
+
* engine from the published bytes; null for a v1 output. */
|
|
284
|
+
userVerdict: z.enum(USER_VERDICTS).nullable(),
|
|
285
|
+
blocking: z.boolean().nullable(),
|
|
286
|
+
/** omitly#1496 (v1: omitly#228): the channel the engine recorded for
|
|
287
|
+
* this redaction — `mcp-agent` for this server's write tools. null for
|
|
288
|
+
* anything outside the closed set. */
|
|
289
|
+
decisionChannel: z.enum(DECISION_CHANNELS).nullable(),
|
|
269
290
|
})
|
|
270
291
|
.strict();
|
|
271
292
|
/** Copy only the known-safe fields off the engine's `audit` object — same
|
|
@@ -287,8 +308,38 @@ function toOutputAudit(a) {
|
|
|
287
308
|
license: a.license,
|
|
288
309
|
licensedTo: a.licensedTo ?? null,
|
|
289
310
|
disclosures: a.disclosures ?? [],
|
|
311
|
+
...auditVerdict(a),
|
|
312
|
+
decisionChannel: DECISION_CHANNELS.includes(a.decisionChannel) && a.decisionChannel !== "none"
|
|
313
|
+
? a.decisionChannel
|
|
314
|
+
: null,
|
|
315
|
+
};
|
|
316
|
+
}
|
|
317
|
+
/** omitly#1104: the v2 verdict of an engine `audit` object, fail-closed
|
|
318
|
+
* through the same check `verify_seal` uses (`v2Verdict`). */
|
|
319
|
+
function auditVerdict(a) {
|
|
320
|
+
const schema = a?.auditSchema;
|
|
321
|
+
if (schema === "omitly.audit/v2") {
|
|
322
|
+
const v = v2Verdict({
|
|
323
|
+
auditV2Recognized: true,
|
|
324
|
+
auditV2Overall: a.auditV2Overall,
|
|
325
|
+
userVerdict: a.userVerdict,
|
|
326
|
+
blocking: a.blocking,
|
|
327
|
+
});
|
|
328
|
+
return { auditSchema: schema, userVerdict: v.userVerdict, blocking: v.blocking };
|
|
329
|
+
}
|
|
330
|
+
return {
|
|
331
|
+
auditSchema: schema === "omitly.audit/v1" ? schema : null,
|
|
332
|
+
userVerdict: null,
|
|
333
|
+
blocking: null,
|
|
290
334
|
};
|
|
291
335
|
}
|
|
336
|
+
/** omitly#1104: the "Result:" line of a redaction's text output, for a v2
|
|
337
|
+
* output only. */
|
|
338
|
+
function resultLine(audit) {
|
|
339
|
+
return audit.userVerdict === null
|
|
340
|
+
? ""
|
|
341
|
+
: `Result: ${userVerdictLabel(audit.userVerdict, audit.blocking)}\n`;
|
|
342
|
+
}
|
|
292
343
|
export const redactByEntityOutputSchema = z
|
|
293
344
|
.object({
|
|
294
345
|
output: z.string().nullable(),
|
|
@@ -306,6 +357,58 @@ export const redactPdfOutputSchema = z
|
|
|
306
357
|
audit: auditOutputSchema,
|
|
307
358
|
})
|
|
308
359
|
.strict();
|
|
360
|
+
/**
|
|
361
|
+
* omitly#1473 (owner decision, option b): `clean` keeps its #538 meaning
|
|
362
|
+
* ("nothing found where we looked") and a SEPARATE field says whether the scan
|
|
363
|
+
* was complete — every page and content stream read. Every text surface shows
|
|
364
|
+
* completeness BEFORE the clean/count headline, because "No recoverable PII
|
|
365
|
+
* found" over a document where no page could be read is a false clean.
|
|
366
|
+
*
|
|
367
|
+
* `complete` is true only when the engine said so. An engine that does not
|
|
368
|
+
* report the field (a build older than this change) cannot vouch for
|
|
369
|
+
* completeness, so it is `complete: false, reported: false` — fail closed, with
|
|
370
|
+
* wording that does not claim a page failed.
|
|
371
|
+
*/
|
|
372
|
+
export function scanCompleteness(res) {
|
|
373
|
+
const v = res?.scan_complete ?? res?.coverage?.scan_complete;
|
|
374
|
+
return typeof v === "boolean" ? { complete: v, reported: true } : { complete: false, reported: false };
|
|
375
|
+
}
|
|
376
|
+
/** The warning for an incomplete scan; "" when the scan was complete. */
|
|
377
|
+
export function incompleteScanBanner(res) {
|
|
378
|
+
const { complete, reported } = scanCompleteness(res);
|
|
379
|
+
if (complete)
|
|
380
|
+
return "";
|
|
381
|
+
if (!reported) {
|
|
382
|
+
return ("⛔ SCAN COMPLETENESS NOT REPORTED — this engine did not say whether every page and " +
|
|
383
|
+
"stream was read, so the result below cannot be treated as a clean result.");
|
|
384
|
+
}
|
|
385
|
+
const cov = res?.coverage ?? {};
|
|
386
|
+
const failed = Array.isArray(cov.pages_failed) ? cov.pages_failed.length : 0;
|
|
387
|
+
const rasterOnly = Array.isArray(cov.raster_only_pages) ? cov.raster_only_pages.length : 0;
|
|
388
|
+
// WHY it is incomplete, from the coverage the engine already reports. The
|
|
389
|
+
// image-only and generic OCR lines are restated from the structured counts.
|
|
390
|
+
const why = [
|
|
391
|
+
failed > 0 && `${failed} page(s) could not be parsed`,
|
|
392
|
+
rasterOnly > 0 && `${rasterOnly} page(s) are images only and were not text-scanned (no OCR)`,
|
|
393
|
+
...(Array.isArray(cov.not_scanned) ? cov.not_scanned : []).filter((n) => !/effectively image-only|needs OCR/.test(n)),
|
|
394
|
+
].filter(Boolean);
|
|
395
|
+
const read = typeof cov.pages_scanned === "number" && typeof cov.pages_total === "number"
|
|
396
|
+
? ` ${cov.pages_scanned} of ${cov.pages_total} page(s) had readable text.`
|
|
397
|
+
: "";
|
|
398
|
+
return ("⛔ INCOMPLETE SCAN — some of this document was not read, so the result below speaks " +
|
|
399
|
+
`only for what was read (possibly nothing).${read}` +
|
|
400
|
+
(why.length ? ` Why: ${why.join("; ")}.` : "") +
|
|
401
|
+
" This is NOT a clean result.");
|
|
402
|
+
}
|
|
403
|
+
/** Leads sidecar-mode `verify_redaction` text: what that check is and is not. */
|
|
404
|
+
export const SIDECAR_VERIFY_NOTE = "ℹ️ Region check only: this confirms the recorded redaction regions are empty and runs the " +
|
|
405
|
+
"hidden-content checks. It did NOT scan the whole document for PII, so it says nothing about " +
|
|
406
|
+
"other content. Use check_redaction for a full scan.";
|
|
407
|
+
/** The line every text surface leads with: the incomplete-scan warning, or an
|
|
408
|
+
* explicit statement that the scan was complete. Never empty. */
|
|
409
|
+
export function scanStatusLine(res) {
|
|
410
|
+
return incompleteScanBanner(res) || "✅ Scan complete: all text on every page and in every stream was read. Images are not OCR'd.";
|
|
411
|
+
}
|
|
309
412
|
/** A single leak/finding surfaced by `verify_redaction` — never the raw
|
|
310
413
|
* matched text. `reason`/`detail`/`class` are structural (which check
|
|
311
414
|
* failed, why), `preview` is the engine's masked preview. */
|
|
@@ -321,6 +424,8 @@ const verifyFindingOutputSchema = z
|
|
|
321
424
|
.strict();
|
|
322
425
|
export const verifyRedactionOutputSchema = z
|
|
323
426
|
.object({
|
|
427
|
+
/** omitly#1473: rescan mode only; false = the scan did not read everything. */
|
|
428
|
+
scanComplete: z.boolean().optional(),
|
|
324
429
|
clean: z.boolean(),
|
|
325
430
|
mode: z.enum(["sidecar", "rescan"]),
|
|
326
431
|
verdict: z.enum(["pass", "fail"]).optional(),
|
|
@@ -417,6 +522,10 @@ export const verifySealOutputSchema = z
|
|
|
417
522
|
outputSha256: z.string().nullable(),
|
|
418
523
|
sourceFilename: z.string().nullable(),
|
|
419
524
|
outputFilename: z.string().nullable(),
|
|
525
|
+
/** omitly#1104: the Safe to Send result of a v2 report; null for v1. */
|
|
526
|
+
auditV2Overall: z.enum(AUDIT_V2_OVERALLS).nullable(),
|
|
527
|
+
userVerdict: z.enum(USER_VERDICTS).nullable(),
|
|
528
|
+
blocking: z.boolean().nullable(),
|
|
420
529
|
})
|
|
421
530
|
.strict();
|
|
422
531
|
/** Copy only the known-safe fields off a `normalizeSealResult()` result —
|
|
@@ -440,8 +549,25 @@ function toOutputSeal(res) {
|
|
|
440
549
|
outputSha256: res.outputSha256,
|
|
441
550
|
sourceFilename: res.sourceFilename,
|
|
442
551
|
outputFilename: res.outputFilename,
|
|
552
|
+
auditV2Overall: res.auditV2Overall,
|
|
553
|
+
userVerdict: res.userVerdict,
|
|
554
|
+
blocking: res.blocking,
|
|
443
555
|
};
|
|
444
556
|
}
|
|
557
|
+
/** omitly#1104: the summary line for a v2 report — its verdict label, then
|
|
558
|
+
* the same integrity-not-origin statement the v1 pass line makes. */
|
|
559
|
+
function v2SealSummary(res) {
|
|
560
|
+
const verdict = res.userVerdict ?? "cannot_verify";
|
|
561
|
+
const label = userVerdictLabel(verdict, res.blocking);
|
|
562
|
+
if (verdict === "cannot_verify") {
|
|
563
|
+
return `⚠️ Result: ${label} — do not treat this file's audit trail as trustworthy.`;
|
|
564
|
+
}
|
|
565
|
+
const mark = verdict === "safe_to_send" ? "✅" : "⚠️";
|
|
566
|
+
return (`${mark} Result: ${label}. Seal valid — these bytes are unchanged since they were sealed. ` +
|
|
567
|
+
`That is an INTEGRITY check, not proof of origin: the signing key is per-install and ships ` +
|
|
568
|
+
`with the file, so compare the fingerprint (${res.sealFingerprint ?? "none reported"}) ` +
|
|
569
|
+
`out-of-band against what the sender published if you need to know who sealed it.`);
|
|
570
|
+
}
|
|
445
571
|
/** Shared core for `verify_seal` and `verify_document` (omitly#113) — both
|
|
446
572
|
* tools check exactly the same thing (the CLI's `verify_seal` engine
|
|
447
573
|
* command: the embedded audit report + trailing Ed25519 seal) and only
|
|
@@ -503,8 +629,99 @@ function toOutputExtractedPage(p) {
|
|
|
503
629
|
spans: (p.spans ?? []).map((s) => ({ kind: s.kind, start: s.start, end: s.end })),
|
|
504
630
|
};
|
|
505
631
|
}
|
|
632
|
+
/** omitly#1267: the three verdicts, exactly as the engine and wasm spell them
|
|
633
|
+
* (`omitly_seal::audit_v2::CheckState`). Never reconstructed here. */
|
|
634
|
+
const CHECK_STATE = z.enum(["safe_to_send", "needs_review", "cannot_verify"]);
|
|
635
|
+
/** The fixed reason codes a verdict can carry: the two the shared Rust
|
|
636
|
+
* wrapper sets (`omitly_seal::check::FREE_REASON_*`) and the one this
|
|
637
|
+
* server sets when the configured engine or the bundled wasm has no `check`
|
|
638
|
+
* (an older build). */
|
|
639
|
+
const CHECK_REASON_CODE = z.enum(["input_too_large", "check_failed", "check_unavailable", "result_invalid"]);
|
|
640
|
+
/** Engine output, even when it is "fixed copy": at most 1 KiB, no control
|
|
641
|
+
* characters (C0, DEL, C1) and no line or paragraph separators, so a line
|
|
642
|
+
* can neither carry a payload nor forge extra lines in the text output. The
|
|
643
|
+
* longest line in `omitly_seal::check::COPY` is about 250 bytes. */
|
|
644
|
+
const COPY_LINE = z
|
|
645
|
+
.string()
|
|
646
|
+
.max(1024)
|
|
647
|
+
.regex(/^[^\u0000-\u001f\u007f-\u009f\u2028\u2029]*$/);
|
|
648
|
+
const PAGE_LIST_MAX = 10_000;
|
|
649
|
+
const ITEMS_MAX = 1024;
|
|
650
|
+
const checkItemSchema = z
|
|
651
|
+
.object({
|
|
652
|
+
/** A fixed line from the engine's own copy table — never document text. */
|
|
653
|
+
text: COPY_LINE,
|
|
654
|
+
/** 1-based page numbers, when the line concerns specific pages. */
|
|
655
|
+
pages: z.array(z.number().int().min(1).max(1_000_000)).max(PAGE_LIST_MAX).optional(),
|
|
656
|
+
})
|
|
657
|
+
.strict();
|
|
658
|
+
/** The desktop Check screen's `CheckResult`, field for field, minus the two
|
|
659
|
+
* desktop-only fields (`canWrite`, `producer`). */
|
|
660
|
+
const checkResultOutputSchema = z
|
|
661
|
+
.object({
|
|
662
|
+
state: CHECK_STATE,
|
|
663
|
+
blocking: z.boolean(),
|
|
664
|
+
summary: COPY_LINE,
|
|
665
|
+
pagesTotal: z.number().int().min(0).max(1_000_000),
|
|
666
|
+
pagesRead: z.number().int().min(0).max(1_000_000),
|
|
667
|
+
checked: z.array(checkItemSchema).max(ITEMS_MAX),
|
|
668
|
+
notChecked: z.array(checkItemSchema).max(ITEMS_MAX),
|
|
669
|
+
problems: z.array(checkItemSchema).max(ITEMS_MAX),
|
|
670
|
+
review: z.array(checkItemSchema).max(ITEMS_MAX),
|
|
671
|
+
information: z.array(checkItemSchema).max(ITEMS_MAX),
|
|
672
|
+
decisions: z.array(checkItemSchema).max(ITEMS_MAX),
|
|
673
|
+
reasons: z.array(checkItemSchema).max(ITEMS_MAX),
|
|
674
|
+
/** RFC 3339 UTC, as both engines write it. */
|
|
675
|
+
checkedAt: z.string().regex(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?Z$/),
|
|
676
|
+
omitlyVersion: z.string().max(64).regex(/^[0-9A-Za-z.+-]+$/),
|
|
677
|
+
/** Empty only when the file was refused unread (`input_too_large`). */
|
|
678
|
+
sha256: z.string().regex(/^([0-9a-f]{64})?$/),
|
|
679
|
+
sizeBytes: z.number().int().min(0).max(Number.MAX_SAFE_INTEGER),
|
|
680
|
+
/** omitly#1496: the verified report's `provenance.decision_channel` —
|
|
681
|
+
* a closed-set code (`none` for a presented check: nothing was
|
|
682
|
+
* decided). A record of process, not proof. null when the engine sent
|
|
683
|
+
* none (an older engine, or a report that predates the field). */
|
|
684
|
+
decisionChannel: z.enum(DECISION_CHANNELS).nullable(),
|
|
685
|
+
})
|
|
686
|
+
.strict();
|
|
687
|
+
/** What the engine and wasm actually send: the output shape plus the two
|
|
688
|
+
* desktop-only fields, which are dropped on the way out, and
|
|
689
|
+
* `decisionChannel` omitted when there is none. Strict — any other field
|
|
690
|
+
* fails the whole result. */
|
|
691
|
+
const checkResultEngineSchema = checkResultOutputSchema
|
|
692
|
+
.extend({
|
|
693
|
+
canWrite: z.literal(false),
|
|
694
|
+
producer: z.null(),
|
|
695
|
+
decisionChannel: z.enum(DECISION_CHANNELS).optional(),
|
|
696
|
+
})
|
|
697
|
+
.strict();
|
|
698
|
+
/**
|
|
699
|
+
* omitly#1267: the Safe to Send verdict — the same object the browser
|
|
700
|
+
* checker's wasm `check` and `omitly-redact`'s `check` command return. The
|
|
701
|
+
* states are verdicts about THIS CHECK, scoped to what it covered (see
|
|
702
|
+
* `result.checked` / `result.notChecked`); none of them says the document is
|
|
703
|
+
* safe.
|
|
704
|
+
*
|
|
705
|
+
* The engine's audit v2 report is deliberately NOT part of this output
|
|
706
|
+
* (coordinator decision on the #1267 review): it is engine output this server
|
|
707
|
+
* cannot validate — the shared validator needs applicability recomputed from
|
|
708
|
+
* the PDF, which only the Rust engine can do — and a model-facing tool needs
|
|
709
|
+
* the verdict and the validated fixed-copy `result`, not the report. The
|
|
710
|
+
* report is available from `omitly-redact check` and the desktop app.
|
|
711
|
+
*/
|
|
712
|
+
export const checkVerdictOutputSchema = z
|
|
713
|
+
.object({
|
|
714
|
+
verdict: CHECK_STATE,
|
|
715
|
+
blocking: z.boolean(),
|
|
716
|
+
result: checkResultOutputSchema.nullable(),
|
|
717
|
+
reason_code: CHECK_REASON_CODE.nullable(),
|
|
718
|
+
})
|
|
719
|
+
.strict();
|
|
506
720
|
export const checkRedactionOutputSchema = z
|
|
507
721
|
.object({
|
|
722
|
+
/** omitly#1473: false = some page or stream could not be read, so `clean`
|
|
723
|
+
* speaks only for what was read (possibly nothing). Read before `clean`. */
|
|
724
|
+
scanComplete: z.boolean(),
|
|
508
725
|
clean: z.boolean(),
|
|
509
726
|
totalFindings: z.number().int().min(0),
|
|
510
727
|
byKind: z.record(z.string(), z.number().int()),
|
|
@@ -512,11 +729,115 @@ export const checkRedactionOutputSchema = z
|
|
|
512
729
|
survivors: z.array(outputRegionSchema),
|
|
513
730
|
offPage: z.array(offPageOutputSchema),
|
|
514
731
|
coverage: coverageOutputSchema,
|
|
732
|
+
/** omitly#1267: the Safe to Send verdict over the same file, from the
|
|
733
|
+
* same presented check the desktop "Check any PDF" runs. */
|
|
734
|
+
verdict: checkVerdictOutputSchema,
|
|
515
735
|
/** Present (and true) on free-tier (wasm-served, unlicensed) results —
|
|
516
736
|
* omitly#226's EVALUATION mark. Never present on native-engine results. */
|
|
517
737
|
evaluation: z.literal(true).optional(),
|
|
518
738
|
})
|
|
519
739
|
.strict();
|
|
740
|
+
const UNAVAILABLE = {
|
|
741
|
+
verdict: "cannot_verify",
|
|
742
|
+
blocking: false,
|
|
743
|
+
result: null,
|
|
744
|
+
reason_code: "check_unavailable",
|
|
745
|
+
};
|
|
746
|
+
/** Validate an engine/wasm verdict before any of it reaches the model — the
|
|
747
|
+
* same allowlist defence as `toOutputRegion`, but strict: a `result` that is
|
|
748
|
+
* not exactly the CheckResult shape (unknown field, control character,
|
|
749
|
+
* over-long line, malformed digest or time, or a state/blocking that
|
|
750
|
+
* disagrees with the verdict), or an unknown `reason_code`, drops the result
|
|
751
|
+
* and forces `cannot_verify` / `result_invalid`. The engine's `report` is
|
|
752
|
+
* never copied. A missing verdict is
|
|
753
|
+
* `check_unavailable`. Never a pass on bad input. */
|
|
754
|
+
function toOutputVerdict(raw) {
|
|
755
|
+
if (!raw || typeof raw !== "object" || !CHECK_STATE.safeParse(raw.verdict).success) {
|
|
756
|
+
return UNAVAILABLE;
|
|
757
|
+
}
|
|
758
|
+
const invalid = {
|
|
759
|
+
verdict: "cannot_verify",
|
|
760
|
+
blocking: false,
|
|
761
|
+
result: null,
|
|
762
|
+
reason_code: "result_invalid",
|
|
763
|
+
};
|
|
764
|
+
if (typeof raw.blocking !== "boolean")
|
|
765
|
+
return invalid;
|
|
766
|
+
const reason = raw.reason_code === null || raw.reason_code === undefined ? null : CHECK_REASON_CODE.safeParse(raw.reason_code);
|
|
767
|
+
if (reason && !reason.success)
|
|
768
|
+
return invalid;
|
|
769
|
+
let result = null;
|
|
770
|
+
if (raw.result !== null && raw.result !== undefined) {
|
|
771
|
+
const parsed = checkResultEngineSchema.safeParse(raw.result);
|
|
772
|
+
if (!parsed.success)
|
|
773
|
+
return invalid;
|
|
774
|
+
const { canWrite: _canWrite, producer: _producer, decisionChannel, ...rest } = parsed.data;
|
|
775
|
+
if (rest.state !== raw.verdict || rest.blocking !== raw.blocking)
|
|
776
|
+
return invalid;
|
|
777
|
+
result = { ...rest, decisionChannel: decisionChannel ?? null };
|
|
778
|
+
}
|
|
779
|
+
else if (raw.verdict !== "cannot_verify") {
|
|
780
|
+
// Only a refusal may come without its result.
|
|
781
|
+
return invalid;
|
|
782
|
+
}
|
|
783
|
+
return {
|
|
784
|
+
verdict: raw.verdict,
|
|
785
|
+
blocking: raw.blocking,
|
|
786
|
+
result,
|
|
787
|
+
// `raw.report` is never copied: see checkVerdictOutputSchema.
|
|
788
|
+
reason_code: reason ? reason.data : null,
|
|
789
|
+
};
|
|
790
|
+
}
|
|
791
|
+
/** The verdict as text: the heading (the same three states the desktop
|
|
792
|
+
* shows), the check's own summary, then its sections exactly as the engine
|
|
793
|
+
* wrote them — fixed lines with page numbers, never document text. */
|
|
794
|
+
export function verdictHeading(v) {
|
|
795
|
+
const r = v.result;
|
|
796
|
+
const lines = (title, items) => items && items.length
|
|
797
|
+
? `\n ${title}:\n` +
|
|
798
|
+
items.map((i) => ` - ${i.text}${i.pages ? ` (pages ${i.pages.join(", ")})` : ""}`).join("\n")
|
|
799
|
+
: "";
|
|
800
|
+
return (verdictHeadline(v) +
|
|
801
|
+
lines("Checked", r?.checked) +
|
|
802
|
+
lines("Problems", r?.problems) +
|
|
803
|
+
lines("Review", r?.review) +
|
|
804
|
+
lines("Could not be checked", v.verdict === "cannot_verify" ? r?.reasons : r?.notChecked) +
|
|
805
|
+
lines("Information", r?.information));
|
|
806
|
+
}
|
|
807
|
+
function verdictHeadline(v) {
|
|
808
|
+
const label = v.verdict === "safe_to_send"
|
|
809
|
+
? "Safe to Send"
|
|
810
|
+
: v.verdict === "needs_review"
|
|
811
|
+
? v.blocking
|
|
812
|
+
? "Needs Review — problems found"
|
|
813
|
+
: "Needs Review"
|
|
814
|
+
: "Cannot Verify";
|
|
815
|
+
return (`Check verdict: ${label}.` +
|
|
816
|
+
(v.result?.summary ? ` ${v.result.summary}` : "") +
|
|
817
|
+
` (A verdict about this check, limited to what it covered: hidden, covered and ` +
|
|
818
|
+
`recoverable content. It does not judge whether the visible text should be there — the ` +
|
|
819
|
+
`pattern findings do — and it is not a statement that the document is safe.)`);
|
|
820
|
+
}
|
|
821
|
+
/** omitly#1267: the verdict via the native engine's `check` command when one
|
|
822
|
+
* is configured, else the bundled wasm's `check` export — the same Rust
|
|
823
|
+
* function (`omitly_seal::check::free_check`) either way. An engine or wasm
|
|
824
|
+
* build without `check`, or any failure to run it, is `check_unavailable`. */
|
|
825
|
+
async function checkViaEngineOrWasm(confinedPath) {
|
|
826
|
+
let raw;
|
|
827
|
+
try {
|
|
828
|
+
if (ENGINE_BIN) {
|
|
829
|
+
const res = await runEngine({ command: "check", pdfPath: confinedPath });
|
|
830
|
+
raw = res?.ok ? res.check : undefined;
|
|
831
|
+
}
|
|
832
|
+
else {
|
|
833
|
+
raw = runWasmCheck(readFileSync(confinedPath));
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
catch {
|
|
837
|
+
raw = undefined;
|
|
838
|
+
}
|
|
839
|
+
return checked(checkVerdictOutputSchema, toOutputVerdict(raw));
|
|
840
|
+
}
|
|
520
841
|
/**
|
|
521
842
|
* Free-tier metering gate (omitly#226) for the two DETECTION tools only.
|
|
522
843
|
* Applies solely to the wasm-served path (no native engine configured): that
|
|
@@ -711,12 +1032,16 @@ export function registerTools(server) {
|
|
|
711
1032
|
};
|
|
712
1033
|
}
|
|
713
1034
|
const found = res.regions ?? [];
|
|
714
|
-
const
|
|
715
|
-
|
|
1035
|
+
const completeness = scanCompleteness(res);
|
|
1036
|
+
const incomplete = scanStatusLine(res);
|
|
1037
|
+
const summary = (incomplete ? `${incomplete}\n\n` : "") +
|
|
1038
|
+
(meter ? `${evaluationBanner(meter)}\n\n` : "") +
|
|
1039
|
+
`Found ${found.length} candidate region(s)${completeness.complete ? "" : " in the part of the document that could be read"}.\n` +
|
|
716
1040
|
`Pass any subset to redact_pdf as its "regions" argument (page + x/y/width/height carry over).\n\n` +
|
|
717
1041
|
(res.note ? `Note: ${res.note}\n\n` : "") +
|
|
718
1042
|
JSON.stringify(found, null, 2);
|
|
719
1043
|
const structuredContent = checked(findSensitiveRegionsOutputSchema, {
|
|
1044
|
+
scanComplete: completeness.complete,
|
|
720
1045
|
count: found.length,
|
|
721
1046
|
regions: found.map(toOutputRegion),
|
|
722
1047
|
...(res.note ? { note: res.note } : {}),
|
|
@@ -857,7 +1182,9 @@ export function registerTools(server) {
|
|
|
857
1182
|
{
|
|
858
1183
|
type: "text",
|
|
859
1184
|
text: `Redacted ${redacted.length} entit${redacted.length === 1 ? "y" : "ies"} → ${res.output}\n` +
|
|
860
|
-
`Verification: ${res.audit?.verdict ?? "see audit log"}\n
|
|
1185
|
+
`Verification: ${res.audit?.verdict ?? "see audit log"}\n` +
|
|
1186
|
+
resultLine(audit) +
|
|
1187
|
+
`\n` +
|
|
861
1188
|
`Removed:\n${JSON.stringify(redacted, null, 2)}\n\n` +
|
|
862
1189
|
`Audit log:\n${JSON.stringify(res.audit, null, 2)}`,
|
|
863
1190
|
},
|
|
@@ -912,7 +1239,9 @@ export function registerTools(server) {
|
|
|
912
1239
|
{
|
|
913
1240
|
type: "text",
|
|
914
1241
|
text: `Redacted ${regions.length} region(s) → ${res.output}\n` +
|
|
915
|
-
`Verification: ${res.audit?.verdict ?? "see audit log"}\n
|
|
1242
|
+
`Verification: ${res.audit?.verdict ?? "see audit log"}\n` +
|
|
1243
|
+
resultLine(audit) +
|
|
1244
|
+
`\n` +
|
|
916
1245
|
`Audit log:\n${JSON.stringify(res.audit, null, 2)}`,
|
|
917
1246
|
},
|
|
918
1247
|
],
|
|
@@ -978,6 +1307,10 @@ export function registerTools(server) {
|
|
|
978
1307
|
detail: c.verification.detail,
|
|
979
1308
|
})),
|
|
980
1309
|
];
|
|
1310
|
+
// omitly#1473: sidecar verify re-checks the recorded regions and the
|
|
1311
|
+
// hidden-content classes; it reads no whole document for PII, so
|
|
1312
|
+
// there is no `scanComplete` to report and the text says so rather
|
|
1313
|
+
// than implying a clean scan. `clean` here means those checks passed.
|
|
981
1314
|
const structuredContent = checked(verifyRedactionOutputSchema, {
|
|
982
1315
|
clean: verdict === "pass",
|
|
983
1316
|
mode: "sidecar",
|
|
@@ -986,7 +1319,7 @@ export function registerTools(server) {
|
|
|
986
1319
|
findings,
|
|
987
1320
|
});
|
|
988
1321
|
return {
|
|
989
|
-
content: [{ type: "text", text: JSON.stringify(res, null, 2) }],
|
|
1322
|
+
content: [{ type: "text", text: `${SIDECAR_VERIFY_NOTE}\n\n${JSON.stringify(res, null, 2)}` }],
|
|
990
1323
|
structuredContent,
|
|
991
1324
|
isError: res?.ok === false || verdict === "fail",
|
|
992
1325
|
};
|
|
@@ -1012,10 +1345,15 @@ export function registerTools(server) {
|
|
|
1012
1345
|
// a native engine was configured. Fall back to the regions actually
|
|
1013
1346
|
// returned, not a bare 0.
|
|
1014
1347
|
const clean = res.clean ?? (res.total_findings ?? foundRegions.length) === 0;
|
|
1015
|
-
const
|
|
1016
|
-
|
|
1017
|
-
|
|
1348
|
+
const completeness = scanCompleteness(res);
|
|
1349
|
+
const incomplete = scanStatusLine(res);
|
|
1350
|
+
const summary = (incomplete ? `${incomplete}\n\n` : "") + (clean
|
|
1351
|
+
? completeness.complete
|
|
1352
|
+
? `✅ No recoverable PII found on the surfaces scanned (general re-scan — no redaction sidecar to check specific regions against).`
|
|
1353
|
+
: `⚠️ Nothing found in the part of the document that could be read (general re-scan) — see above; this is not a clean result.`
|
|
1354
|
+
: `⚠️ Found ${res.total_findings ?? foundRegions.length ?? 0} recoverable item(s) — this file is not clean.\n\n${JSON.stringify(res, null, 2)}`);
|
|
1018
1355
|
const structuredContent = checked(verifyRedactionOutputSchema, {
|
|
1356
|
+
scanComplete: completeness.complete,
|
|
1019
1357
|
clean,
|
|
1020
1358
|
mode: "rescan",
|
|
1021
1359
|
totalFindings: res.total_findings ?? foundRegions.length,
|
|
@@ -1161,16 +1499,17 @@ export function registerTools(server) {
|
|
|
1161
1499
|
// Omitly" here would be the exact overclaim `forged_key_seal_verifies_
|
|
1162
1500
|
// but_fingerprint_differs` exists to prevent, so the pass line states
|
|
1163
1501
|
// integrity only and points at the fingerprint for out-of-band origin.
|
|
1164
|
-
const summary = res.
|
|
1165
|
-
|
|
1166
|
-
|
|
1167
|
-
|
|
1168
|
-
|
|
1169
|
-
|
|
1502
|
+
const summary = res.userVerdict !== null ? v2SealSummary(res) :
|
|
1503
|
+
res.verdict === "verified"
|
|
1504
|
+
? `✅ Seal valid — these bytes are unchanged since they were sealed. That is an ` +
|
|
1505
|
+
`INTEGRITY check, not proof of origin: the signing key is per-install and ships ` +
|
|
1506
|
+
`with the file, so compare the fingerprint (${res.sealFingerprint ?? "none reported"}) ` +
|
|
1507
|
+
`out-of-band against what the sender published if you need to know who sealed it.`
|
|
1508
|
+
: `⚠️ Seal verdict: ${res.verdict} — do not treat this file's audit trail as trustworthy.`;
|
|
1170
1509
|
return {
|
|
1171
1510
|
content: [{ type: "text", text: `${summary}\n\n${JSON.stringify(res, null, 2)}` }],
|
|
1172
1511
|
structuredContent,
|
|
1173
|
-
isError:
|
|
1512
|
+
isError: isSealError(res),
|
|
1174
1513
|
};
|
|
1175
1514
|
}
|
|
1176
1515
|
catch (e) {
|
|
@@ -1237,21 +1576,22 @@ export function registerTools(server) {
|
|
|
1237
1576
|
}
|
|
1238
1577
|
// Same non-overclaim discipline as verify_seal (CLAUDE.md invariant #2):
|
|
1239
1578
|
// integrity only, never an origin/production claim.
|
|
1240
|
-
const summary = res.
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1248
|
-
|
|
1249
|
-
|
|
1250
|
-
|
|
1579
|
+
const summary = res.userVerdict !== null ? v2SealSummary(res) :
|
|
1580
|
+
res.verdict === "verified"
|
|
1581
|
+
? `✅ This document's audit report and seal are intact — unchanged since they were sealed. ` +
|
|
1582
|
+
`That is an INTEGRITY check, not proof of origin: the signing key is per-install and ` +
|
|
1583
|
+
`ships with the file, so compare the fingerprint (${res.sealFingerprint ?? "none reported"}) ` +
|
|
1584
|
+
`out-of-band against what the sender published if you need to know who sealed it. This did ` +
|
|
1585
|
+
`NOT re-scan the document for residual PII — use \`verify_redaction\` for that.`
|
|
1586
|
+
: res.verdict === "no_report"
|
|
1587
|
+
? `⚠️ No Omitly audit report was found in this document — there is nothing here for this ` +
|
|
1588
|
+
`tool to verify. This does not mean the document is unsafe, only that it was not sealed ` +
|
|
1589
|
+
`by (or the report was stripped from) this pipeline.`
|
|
1590
|
+
: `⚠️ Seal verdict: ${res.verdict} — do not treat this file's audit trail as trustworthy.`;
|
|
1251
1591
|
return {
|
|
1252
1592
|
content: [{ type: "text", text: `${summary}\n\n${JSON.stringify(res, null, 2)}` }],
|
|
1253
1593
|
structuredContent,
|
|
1254
|
-
isError:
|
|
1594
|
+
isError: isSealError(res),
|
|
1255
1595
|
};
|
|
1256
1596
|
}
|
|
1257
1597
|
catch (e) {
|
|
@@ -1320,7 +1660,23 @@ export function registerTools(server) {
|
|
|
1320
1660
|
"completeness.) Free tier (no native engine): reports are EVALUATION-marked — " +
|
|
1321
1661
|
"for evaluation, not production reliance — and limited to a monthly number of " +
|
|
1322
1662
|
"free checks, counted locally; past the cap this tool returns a structured " +
|
|
1323
|
-
"'free-cap' refusal. A configured licensed engine is not capped."
|
|
1663
|
+
"'free-cap' refusal. A configured licensed engine is not capped. " +
|
|
1664
|
+
"`scanComplete` is false when some page or stream could not be read; then `clean` " +
|
|
1665
|
+
"only means nothing was found in what WAS read (possibly nothing) and the text leads " +
|
|
1666
|
+
"with an INCOMPLETE SCAN warning — never report such a result as clean. " +
|
|
1667
|
+
"The result also carries `verdict`: the same presented-document check the Omitly " +
|
|
1668
|
+
"desktop app's 'Check any PDF' runs, as one of three verdicts about THE CHECK — " +
|
|
1669
|
+
"'safe_to_send' (every check that applies to this file passed, within what the check " +
|
|
1670
|
+
"covers; `verdict.result.notChecked` lists what it did not), 'needs_review' (something " +
|
|
1671
|
+
"needs a person to look before sending; `blocking` true means a problem such as " +
|
|
1672
|
+
"recoverable text under a box was found), or 'cannot_verify' (the check could not " +
|
|
1673
|
+
"complete, so no verdict is given). The verdict covers hidden, covered and recoverable " +
|
|
1674
|
+
"content (text under boxes, metadata, layers, attachments, earlier versions, comments, " +
|
|
1675
|
+
"alternate text); it does not judge whether VISIBLE text should be there — the pattern " +
|
|
1676
|
+
"findings above do — so a visible identifier can be a finding while the verdict is " +
|
|
1677
|
+
"'safe_to_send'. None of the verdicts is a statement that the document is safe. " +
|
|
1678
|
+
"The full audit v2 report behind the verdict is not returned here; it is available " +
|
|
1679
|
+
"from the engine's `check` command (`omitly-redact`) and the desktop app.",
|
|
1324
1680
|
inputSchema: {
|
|
1325
1681
|
pdfPath: z.string().describe("absolute path to the supposedly-redacted PDF to audit"),
|
|
1326
1682
|
},
|
|
@@ -1338,12 +1694,18 @@ export function registerTools(server) {
|
|
|
1338
1694
|
isError: true,
|
|
1339
1695
|
};
|
|
1340
1696
|
}
|
|
1697
|
+
// omitly#1267: one metered call, two engine passes over the same file —
|
|
1698
|
+
// the v1 scan above and the Safe to Send verdict here.
|
|
1699
|
+
const verdict = await checkViaEngineOrWasm(confined);
|
|
1341
1700
|
const regions = res.regions ?? [];
|
|
1342
1701
|
const survivors = res.survivors ?? [];
|
|
1343
1702
|
const offPage = res.off_page ?? [];
|
|
1344
1703
|
const cov = res.coverage ?? {};
|
|
1345
1704
|
const total = res.total_findings ?? regions.length;
|
|
1346
1705
|
const clean = res.clean ?? total === 0;
|
|
1706
|
+
const completeness = scanCompleteness(res);
|
|
1707
|
+
const incomplete = scanStatusLine(res);
|
|
1708
|
+
const lead = (incomplete ? `${incomplete}\n\n` : "") + (meter ? `${evaluationBanner(meter)}\n\n` : "");
|
|
1347
1709
|
// Honest coverage disclosure — what was inspected, and what was NOT, so a
|
|
1348
1710
|
// "clean" result is scoped and never reads as "no PII anywhere".
|
|
1349
1711
|
const scanned = [
|
|
@@ -1367,6 +1729,7 @@ export function registerTools(server) {
|
|
|
1367
1729
|
const coverage = toOutputCoverage(cov, notScanned);
|
|
1368
1730
|
if (clean) {
|
|
1369
1731
|
const structuredContent = checked(checkRedactionOutputSchema, {
|
|
1732
|
+
scanComplete: completeness.complete,
|
|
1370
1733
|
clean: true,
|
|
1371
1734
|
totalFindings: 0,
|
|
1372
1735
|
byKind: {},
|
|
@@ -1374,14 +1737,18 @@ export function registerTools(server) {
|
|
|
1374
1737
|
survivors: [],
|
|
1375
1738
|
offPage: [],
|
|
1376
1739
|
coverage,
|
|
1740
|
+
verdict,
|
|
1377
1741
|
...(meter ? { evaluation: true } : {}),
|
|
1378
1742
|
});
|
|
1379
1743
|
return {
|
|
1380
1744
|
content: [
|
|
1381
1745
|
{
|
|
1382
1746
|
type: "text",
|
|
1383
|
-
text:
|
|
1384
|
-
|
|
1747
|
+
text: lead +
|
|
1748
|
+
(completeness.complete
|
|
1749
|
+
? `✅ No recoverable PII found on the surfaces scanned in ${pdfPath}.\n\n`
|
|
1750
|
+
: `⚠️ Nothing found in the part of ${pdfPath} that could be read — this is NOT a clean result.\n\n`) +
|
|
1751
|
+
`${verdictHeading(verdict)}\n\n` +
|
|
1385
1752
|
`${scope}\n\n` +
|
|
1386
1753
|
`This is a scoped result, not a completeness guarantee — the surfaces listed as ` +
|
|
1387
1754
|
`NOT inspected, plus names/addresses (which need human or model review), are out of ` +
|
|
@@ -1406,6 +1773,7 @@ export function registerTools(server) {
|
|
|
1406
1773
|
parts.push(`Off-page — prior revisions / metadata / form fields / attachments (${offPage.length}):\n` +
|
|
1407
1774
|
`${JSON.stringify(offPage, null, 2)}`);
|
|
1408
1775
|
const structuredContent = checked(checkRedactionOutputSchema, {
|
|
1776
|
+
scanComplete: completeness.complete,
|
|
1409
1777
|
clean: false,
|
|
1410
1778
|
totalFindings: total,
|
|
1411
1779
|
byKind,
|
|
@@ -1413,15 +1781,17 @@ export function registerTools(server) {
|
|
|
1413
1781
|
survivors: survivors.map(toOutputRegion),
|
|
1414
1782
|
offPage: offPage.map((f) => ({ source: f.source, kind: f.kind, preview: f.preview })),
|
|
1415
1783
|
coverage,
|
|
1784
|
+
verdict,
|
|
1416
1785
|
...(meter ? { evaluation: true } : {}),
|
|
1417
1786
|
});
|
|
1418
1787
|
return {
|
|
1419
1788
|
content: [
|
|
1420
1789
|
{
|
|
1421
1790
|
type: "text",
|
|
1422
|
-
text:
|
|
1791
|
+
text: lead +
|
|
1423
1792
|
`⚠️ LEAK: this "redacted" PDF still contains ${total} sensitive item(s) (${tally}) — ` +
|
|
1424
1793
|
`the redaction did not actually remove the data.\n\n` +
|
|
1794
|
+
`${verdictHeading(verdict)}\n\n` +
|
|
1425
1795
|
`${parts.join("\n\n")}\n\n` +
|
|
1426
1796
|
`${scope}\n\n` +
|
|
1427
1797
|
`Previews are masked; the raw values stayed on-device. To actually remove this data ` +
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/seal.js
CHANGED
|
@@ -15,6 +15,64 @@ export const SEAL_VERDICTS = [
|
|
|
15
15
|
"incomplete",
|
|
16
16
|
"verified",
|
|
17
17
|
];
|
|
18
|
+
/** omitly#1104: spec §5's overall statuses. */
|
|
19
|
+
export const AUDIT_V2_OVERALLS = [
|
|
20
|
+
"pass",
|
|
21
|
+
"pass_with_operator_decisions",
|
|
22
|
+
"review_required",
|
|
23
|
+
"unsafe",
|
|
24
|
+
"technical_fail",
|
|
25
|
+
];
|
|
26
|
+
/** omitly#1104: the three user-facing states. */
|
|
27
|
+
export const USER_VERDICTS = ["safe_to_send", "needs_review", "cannot_verify"];
|
|
28
|
+
/** omitly#1496: `provenance.decision_channel`'s closed set — v1's values
|
|
29
|
+
* (omitly#228) plus `none` (a presented check: nothing was decided). Equal to
|
|
30
|
+
* `decision_channels` in contract/cases/audit_v2_semantics.json (tested). */
|
|
31
|
+
export const DECISION_CHANNELS = ["human-desktop", "mcp-agent", "cli", "none"];
|
|
32
|
+
/** omitly#1496: the decision channel a `verify_seal` response may surface.
|
|
33
|
+
* For a v2 report: only when every v2 gate passed (`auditV2Overall`
|
|
34
|
+
* non-null), only a known redaction channel (never `none`). For v1: the
|
|
35
|
+
* engine's own seal-gated string, unchanged (omitly#228). */
|
|
36
|
+
export function sealDecisionChannel(res, v2) {
|
|
37
|
+
const raw = typeof res.decisionChannel === "string" ? res.decisionChannel : null;
|
|
38
|
+
if (res.auditV2Recognized !== true)
|
|
39
|
+
return raw;
|
|
40
|
+
const known = DECISION_CHANNELS.includes(raw) && raw !== "none";
|
|
41
|
+
return known && v2.auditV2Overall !== null ? raw : null;
|
|
42
|
+
}
|
|
43
|
+
/** omitly#1104: the engine's `to_user_verdict`, restated only to CHECK the
|
|
44
|
+
* engine's answer, never to compute one it did not give. */
|
|
45
|
+
function expectedVerdict(overall) {
|
|
46
|
+
switch (overall) {
|
|
47
|
+
case "pass":
|
|
48
|
+
case "pass_with_operator_decisions":
|
|
49
|
+
return ["safe_to_send", false];
|
|
50
|
+
case "review_required":
|
|
51
|
+
return ["needs_review", false];
|
|
52
|
+
case "unsafe":
|
|
53
|
+
return ["needs_review", true];
|
|
54
|
+
case "technical_fail":
|
|
55
|
+
return ["cannot_verify", false];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
/** omitly#1104: the v2 verdict fields of an untrusted engine response. Only a
|
|
59
|
+
* recognized v2 report has one; anything missing, unknown or inconsistent is
|
|
60
|
+
* Cannot Verify. */
|
|
61
|
+
export function v2Verdict(res) {
|
|
62
|
+
if (res.auditV2Recognized !== true) {
|
|
63
|
+
return { auditV2Overall: null, userVerdict: null, blocking: null };
|
|
64
|
+
}
|
|
65
|
+
const cannot = { auditV2Overall: null, userVerdict: "cannot_verify", blocking: false };
|
|
66
|
+
const overall = AUDIT_V2_OVERALLS.includes(res.auditV2Overall)
|
|
67
|
+
? res.auditV2Overall
|
|
68
|
+
: null;
|
|
69
|
+
if (overall === null)
|
|
70
|
+
return cannot;
|
|
71
|
+
const [verdict, blocking] = expectedVerdict(overall);
|
|
72
|
+
if (res.userVerdict !== verdict || res.blocking !== blocking)
|
|
73
|
+
return cannot;
|
|
74
|
+
return { auditV2Overall: overall, userVerdict: verdict, blocking };
|
|
75
|
+
}
|
|
18
76
|
const str = (v) => (typeof v === "string" ? v : null);
|
|
19
77
|
const bool = (v) => (typeof v === "boolean" ? v : null);
|
|
20
78
|
const num = (v) => (typeof v === "number" ? v : null);
|
|
@@ -48,7 +106,7 @@ export function normalizeSealResult(res) {
|
|
|
48
106
|
sealFingerprint: str(res.sealFingerprint),
|
|
49
107
|
allPassed: bool(res.allPassed),
|
|
50
108
|
metadataScrubbed: bool(res.metadataScrubbed),
|
|
51
|
-
decisionChannel:
|
|
109
|
+
decisionChannel: sealDecisionChannel(res, v2Verdict(res)),
|
|
52
110
|
regionCount: num(res.regionCount),
|
|
53
111
|
pageCount: num(res.pageCount),
|
|
54
112
|
warnings: strArray(res.warnings),
|
|
@@ -59,6 +117,7 @@ export function normalizeSealResult(res) {
|
|
|
59
117
|
outputFilename: str(res.outputFilename),
|
|
60
118
|
auditV2Recognized: bool(res.auditV2Recognized) ?? false,
|
|
61
119
|
auditV2ValidationError: str(res.auditV2ValidationError),
|
|
120
|
+
...v2Verdict(res),
|
|
62
121
|
};
|
|
63
122
|
}
|
|
64
123
|
/** Verdicts that should surface as an MCP `isError: true` tool result — a
|
|
@@ -68,4 +127,23 @@ export function normalizeSealResult(res) {
|
|
|
68
127
|
export function isSealErrorVerdict(verdict) {
|
|
69
128
|
return verdict === "seal_invalid" || verdict === "no_report" || verdict === "incomplete";
|
|
70
129
|
}
|
|
130
|
+
/** omitly#1104: the error flag for a whole normalized result. A v2 report is
|
|
131
|
+
* an error unless it is Safe to Send (the counterpart of v1's `incomplete`);
|
|
132
|
+
* anything else keeps `isSealErrorVerdict`. */
|
|
133
|
+
export function isSealError(res) {
|
|
134
|
+
if (res.userVerdict !== null)
|
|
135
|
+
return res.userVerdict !== "safe_to_send";
|
|
136
|
+
return isSealErrorVerdict(res.verdict);
|
|
137
|
+
}
|
|
138
|
+
/** omitly#1104: the fixed label of a v2 verdict (the Check screen's). */
|
|
139
|
+
export function userVerdictLabel(verdict, blocking) {
|
|
140
|
+
switch (verdict) {
|
|
141
|
+
case "safe_to_send":
|
|
142
|
+
return "Safe to Send";
|
|
143
|
+
case "needs_review":
|
|
144
|
+
return blocking ? "Needs Review - problems found" : "Needs Review";
|
|
145
|
+
case "cannot_verify":
|
|
146
|
+
return "Cannot Verify";
|
|
147
|
+
}
|
|
148
|
+
}
|
|
71
149
|
//# sourceMappingURL=seal.js.map
|
package/dist/seal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seal.js","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW;IACX,cAAc;IACd,0BAA0B;IAC1B,oBAAoB;IACpB,oBAAoB;IACpB,YAAY;IACZ,UAAU;CACF,CAAC;
|
|
1
|
+
{"version":3,"file":"seal.js","sourceRoot":"","sources":["../src/seal.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omitly-mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Model Context Protocol server exposing Omitly's local, verifiable PDF redaction to AI agents. Redaction runs on-device — documents are never uploaded.",
|
|
6
6
|
"keywords": [
|
package/wasm/leakcheck_wasm.d.ts
CHANGED
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* omitly#1267: the Safe to Send verdict for a PDF checked as presented —
|
|
6
|
+
* the same check, verdict mapping, sections and audit v2 report as the
|
|
7
|
+
* desktop "Check any PDF" (`omitly_seal::check::free_check`, over
|
|
8
|
+
* `check_presented`). Returns JSON
|
|
9
|
+
* `{ verdict: "safe_to_send"|"needs_review"|"cannot_verify", blocking,
|
|
10
|
+
* result: <CheckResult>, report: <audit v2 report>|null, reason_code }`.
|
|
11
|
+
*
|
|
12
|
+
* The three states are verdicts about the CHECK, scoped to what it covers
|
|
13
|
+
* (`result.checked` / `result.not_checked`), never a statement that the
|
|
14
|
+
* document is safe. Always returns JSON: a file over
|
|
15
|
+
* `FREE_CHECK_MAX_BYTES` or a fault in the check is `cannot_verify` with a
|
|
16
|
+
* fixed `reason_code`, never a throw.
|
|
17
|
+
*/
|
|
18
|
+
export function check(bytes: Uint8Array): string;
|
|
19
|
+
|
|
4
20
|
/**
|
|
5
21
|
* Engine/version string for the page footer ("scanned locally by Omitly vX").
|
|
6
22
|
*/
|
package/wasm/leakcheck_wasm.js
CHANGED
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
/* @ts-self-types="./leakcheck_wasm.d.ts" */
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* omitly#1267: the Safe to Send verdict for a PDF checked as presented —
|
|
5
|
+
* the same check, verdict mapping, sections and audit v2 report as the
|
|
6
|
+
* desktop "Check any PDF" (`omitly_seal::check::free_check`, over
|
|
7
|
+
* `check_presented`). Returns JSON
|
|
8
|
+
* `{ verdict: "safe_to_send"|"needs_review"|"cannot_verify", blocking,
|
|
9
|
+
* result: <CheckResult>, report: <audit v2 report>|null, reason_code }`.
|
|
10
|
+
*
|
|
11
|
+
* The three states are verdicts about the CHECK, scoped to what it covers
|
|
12
|
+
* (`result.checked` / `result.not_checked`), never a statement that the
|
|
13
|
+
* document is safe. Always returns JSON: a file over
|
|
14
|
+
* `FREE_CHECK_MAX_BYTES` or a fault in the check is `cannot_verify` with a
|
|
15
|
+
* fixed `reason_code`, never a throw.
|
|
16
|
+
* @param {Uint8Array} bytes
|
|
17
|
+
* @returns {string}
|
|
18
|
+
*/
|
|
19
|
+
function check(bytes) {
|
|
20
|
+
let deferred2_0;
|
|
21
|
+
let deferred2_1;
|
|
22
|
+
try {
|
|
23
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
24
|
+
const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export2);
|
|
25
|
+
const len0 = WASM_VECTOR_LEN;
|
|
26
|
+
wasm.check(retptr, ptr0, len0);
|
|
27
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
28
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
29
|
+
deferred2_0 = r0;
|
|
30
|
+
deferred2_1 = r1;
|
|
31
|
+
return getStringFromWasm0(r0, r1);
|
|
32
|
+
} finally {
|
|
33
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
34
|
+
wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
exports.check = check;
|
|
38
|
+
|
|
3
39
|
/**
|
|
4
40
|
* Engine/version string for the page footer ("scanned locally by Omitly vX").
|
|
5
41
|
* @returns {string}
|
|
@@ -17,7 +53,7 @@ function engine_version() {
|
|
|
17
53
|
return getStringFromWasm0(r0, r1);
|
|
18
54
|
} finally {
|
|
19
55
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
20
|
-
wasm.
|
|
56
|
+
wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
|
|
21
57
|
}
|
|
22
58
|
}
|
|
23
59
|
exports.engine_version = engine_version;
|
|
@@ -60,7 +96,7 @@ function extract_text(bytes, masked) {
|
|
|
60
96
|
let deferred2_1;
|
|
61
97
|
try {
|
|
62
98
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
63
|
-
const ptr0 = passArray8ToWasm0(bytes, wasm.
|
|
99
|
+
const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export2);
|
|
64
100
|
const len0 = WASM_VECTOR_LEN;
|
|
65
101
|
wasm.extract_text(retptr, ptr0, len0, masked);
|
|
66
102
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
@@ -70,7 +106,7 @@ function extract_text(bytes, masked) {
|
|
|
70
106
|
return getStringFromWasm0(r0, r1);
|
|
71
107
|
} finally {
|
|
72
108
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
73
|
-
wasm.
|
|
109
|
+
wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
|
|
74
110
|
}
|
|
75
111
|
}
|
|
76
112
|
exports.extract_text = extract_text;
|
|
@@ -90,9 +126,9 @@ function locate(bytes, needles_json) {
|
|
|
90
126
|
let deferred3_1;
|
|
91
127
|
try {
|
|
92
128
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
93
|
-
const ptr0 = passArray8ToWasm0(bytes, wasm.
|
|
129
|
+
const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export2);
|
|
94
130
|
const len0 = WASM_VECTOR_LEN;
|
|
95
|
-
const ptr1 = passStringToWasm0(needles_json, wasm.
|
|
131
|
+
const ptr1 = passStringToWasm0(needles_json, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
|
|
96
132
|
const len1 = WASM_VECTOR_LEN;
|
|
97
133
|
wasm.locate(retptr, ptr0, len0, ptr1, len1);
|
|
98
134
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
@@ -102,7 +138,7 @@ function locate(bytes, needles_json) {
|
|
|
102
138
|
return getStringFromWasm0(r0, r1);
|
|
103
139
|
} finally {
|
|
104
140
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
105
|
-
wasm.
|
|
141
|
+
wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
|
|
106
142
|
}
|
|
107
143
|
}
|
|
108
144
|
exports.locate = locate;
|
|
@@ -122,7 +158,7 @@ function scan(bytes) {
|
|
|
122
158
|
let deferred2_1;
|
|
123
159
|
try {
|
|
124
160
|
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
125
|
-
const ptr0 = passArray8ToWasm0(bytes, wasm.
|
|
161
|
+
const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export2);
|
|
126
162
|
const len0 = WASM_VECTOR_LEN;
|
|
127
163
|
wasm.scan(retptr, ptr0, len0);
|
|
128
164
|
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
@@ -132,7 +168,7 @@ function scan(bytes) {
|
|
|
132
168
|
return getStringFromWasm0(r0, r1);
|
|
133
169
|
} finally {
|
|
134
170
|
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
135
|
-
wasm.
|
|
171
|
+
wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
|
|
136
172
|
}
|
|
137
173
|
}
|
|
138
174
|
exports.scan = scan;
|
|
@@ -142,6 +178,10 @@ function __wbg_get_imports() {
|
|
|
142
178
|
__wbg_getRandomValues_cc7f052a444bb2ce: function() { return handleError(function (arg0, arg1) {
|
|
143
179
|
globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
|
|
144
180
|
}, arguments); },
|
|
181
|
+
__wbg_now_42ff8350889827c0: function() {
|
|
182
|
+
const ret = Date.now();
|
|
183
|
+
return ret;
|
|
184
|
+
},
|
|
145
185
|
__wbindgen_object_drop_ref: function(arg0) {
|
|
146
186
|
takeObject(arg0);
|
|
147
187
|
},
|
|
Binary file
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
/* tslint:disable */
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
|
+
export const check: (a: number, b: number, c: number) => void;
|
|
4
5
|
export const engine_version: (a: number) => void;
|
|
5
6
|
export const extract_text: (a: number, b: number, c: number, d: number) => void;
|
|
6
7
|
export const locate: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
7
8
|
export const scan: (a: number, b: number, c: number) => void;
|
|
8
9
|
export const __wbindgen_export: (a: number) => void;
|
|
9
10
|
export const __wbindgen_add_to_stack_pointer: (a: number) => number;
|
|
10
|
-
export const __wbindgen_export2: (a: number, b: number
|
|
11
|
-
export const __wbindgen_export3: (a: number, b: number) =>
|
|
11
|
+
export const __wbindgen_export2: (a: number, b: number) => number;
|
|
12
|
+
export const __wbindgen_export3: (a: number, b: number, c: number) => void;
|
|
12
13
|
export const __wbindgen_export4: (a: number, b: number, c: number, d: number) => number;
|