omitly-mcp 0.1.13 → 0.1.14
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 +48 -39
- package/dist/index.js +152 -19
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +8 -0
- package/wasm/leakcheck_wasm.d.ts +32 -0
- package/wasm/leakcheck_wasm.js +53 -0
- package/wasm/leakcheck_wasm_bg.wasm +0 -0
- package/wasm/leakcheck_wasm_bg.wasm.d.ts +1 -0
package/README.md
CHANGED
|
@@ -9,17 +9,17 @@ anywhere**. Redaction runs on-device through the Omitly engine and returns a
|
|
|
9
9
|
signed audit log proving the data was removed — the opposite of pasting a
|
|
10
10
|
confidential file into a chat model.
|
|
11
11
|
|
|
12
|
-
**
|
|
13
|
-
`check_redaction`, `verify_redaction`) work out of the
|
|
14
|
-
no Rust toolchain, no native binary, no desktop app.**
|
|
15
|
-
wasm-bindgen build of the same detector that powers the web
|
|
16
|
-
omitly.app, bundled directly in this package. `create_pdf`,
|
|
17
|
-
write tools (`redact_pdf`, `redact_by_entity`),
|
|
18
|
-
`
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
12
|
+
**Five of the eleven tools (`find_sensitive_regions`, `locate_text`,
|
|
13
|
+
`check_redaction`, `verify_redaction`, `extract_pdf_text`) work out of the
|
|
14
|
+
box — `npm install`, no Rust toolchain, no native binary, no desktop app.**
|
|
15
|
+
They run on a wasm-bindgen build of the same detector that powers the web
|
|
16
|
+
leak-checker at omitly.app, bundled directly in this package. `create_pdf`,
|
|
17
|
+
the two write tools (`redact_pdf`, `redact_by_entity`), and the two
|
|
18
|
+
seal-verification tools (`verify_seal`, `verify_document`) still need a
|
|
19
|
+
configured native engine — see "Build & run" below. Neither seal tool has a
|
|
20
|
+
wasm fallback yet: there is no wasm seal-verification path (tracked in
|
|
21
|
+
issue #113), so both always require the native engine, even though checking
|
|
22
|
+
a seal needs no licence.
|
|
23
23
|
|
|
24
24
|
## Tools
|
|
25
25
|
|
|
@@ -27,11 +27,13 @@ tools, but has no wasm binding yet either — see "Build & run".
|
|
|
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
|
-
| `
|
|
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. |
|
|
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. |
|
|
31
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. |
|
|
32
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. |
|
|
33
34
|
| `verify_redaction` | Re-scans an already-redacted PDF and returns the verification verdict — the redaction-completeness check. |
|
|
34
35
|
| `verify_seal` | Cryptographically checks a PDF's embedded Omitly audit report and trailing Ed25519 tamper-evidence seal — the tamper-evidence check, distinct from `verify_redaction`. **Integrity, not identity:** the signing key is per-install and rides inside the file, so a valid seal means "unchanged since sealed by the holder of this key", never "produced by Omitly" — compare `sealFingerprint` out-of-band for origin. Requires a native engine; no wasm fallback exists. |
|
|
36
|
+
| `verify_document` | Recipient trust-verification (omitly#113): the same seal/report check as `verify_seal` — not a survivor re-scan — aimed at someone who *received* a PDF from someone else and wants to confirm it's authentic and unaltered, without paying or licensing anything. Free, no licence. Currently requires a native engine like `verify_seal` (no wasm seal-verification path yet). |
|
|
35
37
|
| `create_pdf` | Generates a clean PDF from Markdown/HTML on-device, rendered through a real browser engine so it looks printed — instead of writing a throwaway reportlab/LaTeX script. |
|
|
36
38
|
| `check_license` | Reports the current licence or trial state — tier, trial days left, the vendor-signed licensee name, which resolution step supplied the licence, and whether it is bound to this machine. Free, takes no arguments, reads no document, and is re-resolved on every call so buy → save licence → call again works without a restart. **Never returns the device fingerprint or the licence file's contents** — device binding is a yes/no. Requires a native engine: the wasm free tier has no licence concept. |
|
|
37
39
|
|
|
@@ -66,7 +68,7 @@ See [DEMO.md](./DEMO.md) for a full Claude Code walkthrough.
|
|
|
66
68
|
|
|
67
69
|
## Status
|
|
68
70
|
|
|
69
|
-
The MCP surface (
|
|
71
|
+
The MCP surface (eleven tools, schemas, transport), the native engine binary
|
|
70
72
|
(`crates/omitly-cli`, built as `omitly-redact`), and the bundled wasm engine
|
|
71
73
|
(`crates/leakcheck-wasm`, covering the four free tools without a native
|
|
72
74
|
binary) are all implemented and pass end-to-end tests. `find_sensitive_regions`
|
|
@@ -143,10 +145,14 @@ a JSON response from stdout. Any failure returns `{ "ok": false, "error": "..."
|
|
|
143
145
|
"sourceFilename": "...", "outputFilename": "..." }
|
|
144
146
|
```
|
|
145
147
|
|
|
148
|
+
The MCP tool `verify_document` (omitly#113) shells out to the exact same
|
|
149
|
+
`verify_seal` engine command above — it is the recipient-facing name/wording
|
|
150
|
+
for the same seal/report integrity check, not a separate engine command.
|
|
151
|
+
|
|
146
152
|
## Build & run
|
|
147
153
|
|
|
148
154
|
**Free tools only (find_sensitive_regions, locate_text, check_redaction,
|
|
149
|
-
verify_redaction) — no native engine needed:**
|
|
155
|
+
verify_redaction, extract_pdf_text) — no native engine needed:**
|
|
150
156
|
|
|
151
157
|
```bash
|
|
152
158
|
cd omitly-mcp
|
|
@@ -161,11 +167,11 @@ source** (this repo) does need `wasm-pack` (`cargo install wasm-pack`) and
|
|
|
161
167
|
the `wasm32-unknown-unknown` target, since `npm run build` regenerates the
|
|
162
168
|
wasm bundle from `../crates/leakcheck-wasm` via `npm run build:wasm`.
|
|
163
169
|
|
|
164
|
-
**Everything, including `create_pdf`, `verify_seal`, `
|
|
165
|
-
the two write tools (`redact_pdf`, `redact_by_entity`):**
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
170
|
+
**Everything, including `create_pdf`, `verify_seal`, `verify_document`, and
|
|
171
|
+
the two write tools (`redact_pdf`, `redact_by_entity`):** neither seal tool
|
|
172
|
+
has a wasm fallback — unlike the five free tools above, they always need the
|
|
173
|
+
native engine configured, even though checking a seal carries no licence
|
|
174
|
+
requirement (see "Licensing" below).
|
|
169
175
|
|
|
170
176
|
```bash
|
|
171
177
|
# 1. Build the local engine binaries (from the repo root)
|
|
@@ -182,8 +188,10 @@ One env var covers both binaries: `OMITLY_ENGINE_DIR` is the directory holding
|
|
|
182
188
|
`omitly-redact` and `omitly-pdf`. Per-binary overrides (`OMITLY_REDACT_BIN`,
|
|
183
189
|
`OMITLY_PDF_BIN`) win over the directory when set. When `OMITLY_ENGINE_DIR`
|
|
184
190
|
(or `OMITLY_REDACT_BIN`) isn't set, `find_sensitive_regions`, `locate_text`,
|
|
185
|
-
and `
|
|
186
|
-
same detector, no native binary
|
|
191
|
+
`check_redaction`, and `extract_pdf_text` transparently use the bundled wasm
|
|
192
|
+
engine instead — same detector, no native binary (`extract_pdf_text`'s
|
|
193
|
+
optional `regions` filter is native-only; wasm scans every pattern and notes
|
|
194
|
+
that the filter was ignored). `verify_redaction` does too, but with a
|
|
187
195
|
narrower check: without a native engine there's no `<path>.audit.json`
|
|
188
196
|
sidecar to verify specific regions against, so it falls back to a general
|
|
189
197
|
re-scan of the whole file (still useful — a non-empty result still means the
|
|
@@ -219,24 +227,25 @@ same machine) runs unmarked; otherwise the shared 14-day trial applies and
|
|
|
219
227
|
the audit output is permanently marked as evaluation output. The redaction
|
|
220
228
|
itself is never degraded, and licence checks never touch the network.
|
|
221
229
|
`find_sensitive_regions`, `locate_text`, `check_redaction`, `verify_redaction`,
|
|
222
|
-
`verify_seal`, and `extract_pdf_text` are free — and
|
|
223
|
-
`verify_seal`/`extract_pdf_text` are free
|
|
224
|
-
marking** (recipient-side verification and
|
|
225
|
-
point, not a metered funnel). The two free
|
|
226
|
-
`check_redaction`) on the wasm
|
|
227
|
-
are metered (omitly#226):
|
|
228
|
-
|
|
229
|
-
`OMITLY_FREE_CAP` to tune) the
|
|
230
|
-
`{ blocked: true, reason: "free-cap" }` refusal
|
|
231
|
-
The count lives in `~/.omitly/usage.json`
|
|
232
|
-
`OMITLY_STATE_DIR`; written 0600) and is
|
|
233
|
-
home**; deleting the file resets the free
|
|
234
|
-
no-network doctrine makes it unavoidable), and
|
|
235
|
-
never consulted by any paid write path. Calls
|
|
236
|
-
engine are not metered here — that user is in
|
|
237
|
-
licence rules above apply. `verify_seal`
|
|
238
|
-
|
|
239
|
-
path
|
|
230
|
+
`verify_seal`, `verify_document`, and `extract_pdf_text` are free — and
|
|
231
|
+
`verify_redaction`/`verify_seal`/`verify_document`/`extract_pdf_text` are free
|
|
232
|
+
forever with **no cap and no marking** (recipient-side verification and
|
|
233
|
+
on-device extraction are the point, not a metered funnel). The two free
|
|
234
|
+
*detection* tools (`find_sensitive_regions`, `check_redaction`) on the wasm
|
|
235
|
+
tier — i.e. with no native engine configured — are metered (omitly#226):
|
|
236
|
+
results carry an `evaluation: true` flag plus an EVALUATION banner, and after
|
|
237
|
+
a monthly number of free checks (default 10, `OMITLY_FREE_CAP` to tune) the
|
|
238
|
+
tool returns a structured `{ blocked: true, reason: "free-cap" }` refusal
|
|
239
|
+
until the month rolls over. The count lives in `~/.omitly/usage.json`
|
|
240
|
+
(override the directory with `OMITLY_STATE_DIR`; written 0600) and is
|
|
241
|
+
**local-only — nothing ever phones home**; deleting the file resets the free
|
|
242
|
+
count, which is accepted (the no-network doctrine makes it unavoidable), and
|
|
243
|
+
the counter is deliberately never consulted by any paid write path. Calls
|
|
244
|
+
served by a configured native engine are not metered here — that user is in
|
|
245
|
+
the engine funnel, where the licence rules above apply. `verify_seal` and
|
|
246
|
+
`verify_document` (both native-only) stay free by the same design in
|
|
247
|
+
`crates/omitly-cli` (no Pro/Personal licence check on that command path
|
|
248
|
+
either — both tools shell out to the identical `verify_seal` engine command).
|
|
240
249
|
|
|
241
250
|
## Register with Claude Code
|
|
242
251
|
|
package/dist/index.js
CHANGED
|
@@ -34,10 +34,12 @@ import { allowedRoot, confineInput, confineOutput } from "./paths.js";
|
|
|
34
34
|
import { isSealErrorVerdict, normalizeSealResult, SEAL_VERDICTS, } from "./seal.js";
|
|
35
35
|
import { evaluationBanner, freeCapRefusal, recordFreeCheck, } from "./usage.js";
|
|
36
36
|
/**
|
|
37
|
-
* WASM fallback for
|
|
37
|
+
* WASM fallback for five detection/verify/extract tools — bundled in the npm
|
|
38
38
|
* package (see package.json "files"/"build:wasm"), so `find_sensitive_regions`,
|
|
39
|
-
* `locate_text`, `check_redaction` and `
|
|
40
|
-
*
|
|
39
|
+
* `locate_text`, `check_redaction`, `verify_redaction` and `extract_pdf_text`
|
|
40
|
+
* (omitly#1169 — the last of the free tools to gain this, see that issue for
|
|
41
|
+
* why it didn't ship with the others) work out of the box with NO native
|
|
42
|
+
* engine binary and NO Rust toolchain on the caller's machine.
|
|
41
43
|
* This is the wasm-bindgen twin of `redaction-core`'s detector (same crate
|
|
42
44
|
* already shipped for the web leak-checker at omitly.app) — detection-only,
|
|
43
45
|
* no qpdf/process/filesystem, so it crosses to wasm cleanly.
|
|
@@ -92,6 +94,18 @@ function runWasmLocate(bytes, needles) {
|
|
|
92
94
|
return { ok: false, error: raw.error ?? "wasm locate failed" };
|
|
93
95
|
return { ok: true, count: raw.count, regions: raw.leaks };
|
|
94
96
|
}
|
|
97
|
+
/** Wasm `extract_text`'s output shape is already identical to the native
|
|
98
|
+
* `extract_text` command's (`{ ok, masked, pages }`, camelCase — see
|
|
99
|
+
* `crates/leakcheck-wasm/src/lib.rs`'s doc comment on why that binding
|
|
100
|
+
* doesn't just derive `Serialize` on the crate's own snake_case types), so
|
|
101
|
+
* unlike `runWasmScan`/`runWasmLocate` there is no shape translation here —
|
|
102
|
+
* `extract_pdf_text`'s handler below works unchanged regardless of engine. */
|
|
103
|
+
function runWasmExtractText(bytes, masked) {
|
|
104
|
+
if (!wasmEngine) {
|
|
105
|
+
return { ok: false, error: "bundled wasm engine not built — run `npm run build` (needs wasm-pack + Rust)" };
|
|
106
|
+
}
|
|
107
|
+
return JSON.parse(wasmEngine.extract_text(new Uint8Array(bytes), masked));
|
|
108
|
+
}
|
|
95
109
|
/** Single source of truth for the server version (keeps the MCP handshake in
|
|
96
110
|
* lockstep with the published package). */
|
|
97
111
|
const VERSION = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8")).version;
|
|
@@ -428,6 +442,25 @@ function toOutputSeal(res) {
|
|
|
428
442
|
outputFilename: res.outputFilename,
|
|
429
443
|
};
|
|
430
444
|
}
|
|
445
|
+
/** Shared core for `verify_seal` and `verify_document` (omitly#113) — both
|
|
446
|
+
* tools check exactly the same thing (the CLI's `verify_seal` engine
|
|
447
|
+
* command: the embedded audit report + trailing Ed25519 seal) and only
|
|
448
|
+
* differ in their tool name/description and the wording of their summary
|
|
449
|
+
* text, so the confine → runEngine → normalize → schema-check pipeline
|
|
450
|
+
* lives here once. Currently native-engine-only — there is no wasm
|
|
451
|
+
* seal-verification path yet (omitly-seal itself has no filesystem/process
|
|
452
|
+
* dependency and could in principle cross to wasm, but that compilation
|
|
453
|
+
* work has not been done; see the #113 issue thread's 2026-08-14 note). */
|
|
454
|
+
async function runSealVerification(pdfPath) {
|
|
455
|
+
const confined = confineInput(pdfPath, ROOT);
|
|
456
|
+
const raw = await runEngine({ command: "verify_seal", pdfPath: confined });
|
|
457
|
+
if (!raw?.ok) {
|
|
458
|
+
return { ok: false, errorText: raw?.error ?? "unknown error" };
|
|
459
|
+
}
|
|
460
|
+
const res = normalizeSealResult(raw);
|
|
461
|
+
const structuredContent = checked(verifySealOutputSchema, toOutputSeal(res));
|
|
462
|
+
return { ok: true, res, structuredContent };
|
|
463
|
+
}
|
|
431
464
|
/** One PII span located within a page's extracted text — CHAR (Unicode
|
|
432
465
|
* scalar value) offsets, never byte offsets (mirrors `redaction_core::
|
|
433
466
|
* detect::TextSpan`; see that type's doc comment for why). Never a raw
|
|
@@ -454,6 +487,10 @@ export const extractPdfTextOutputSchema = z
|
|
|
454
487
|
* passed `masked: false`. */
|
|
455
488
|
masked: z.boolean(),
|
|
456
489
|
pages: z.array(extractedPageOutputSchema),
|
|
490
|
+
/** Set when a `regions` filter was requested but ignored — the wasm
|
|
491
|
+
* fallback (no native engine configured) always scans every pattern,
|
|
492
|
+
* same posture as `findSensitiveRegionsOutputSchema`'s `note`. */
|
|
493
|
+
note: z.string().optional(),
|
|
457
494
|
})
|
|
458
495
|
.strict();
|
|
459
496
|
/** Copy only the known-safe fields off an engine-returned extracted page —
|
|
@@ -607,6 +644,20 @@ function findViaEngineOrWasm(confinedPath, regions) {
|
|
|
607
644
|
}
|
|
608
645
|
return res;
|
|
609
646
|
}
|
|
647
|
+
/** Run "extract_text" via the native engine if configured, else the bundled
|
|
648
|
+
* wasm fallback (omitly#1169) — same posture as `findViaEngineOrWasm`:
|
|
649
|
+
* regional narrowing only applies natively, wasm always scans every
|
|
650
|
+
* pattern (more results, never fewer) rather than silently dropping the
|
|
651
|
+
* requested narrowing. */
|
|
652
|
+
function extractTextViaEngineOrWasm(confinedPath, regions, masked) {
|
|
653
|
+
if (ENGINE_BIN)
|
|
654
|
+
return runEngine({ command: "extract_text", pdfPath: confinedPath, regions, masked });
|
|
655
|
+
const res = runWasmExtractText(readFileSync(confinedPath), masked);
|
|
656
|
+
if (res.ok && regions && regions.length) {
|
|
657
|
+
res.note = "Regional narrowing (regions filter) needs a native engine — showing all detected kinds.";
|
|
658
|
+
}
|
|
659
|
+
return res;
|
|
660
|
+
}
|
|
610
661
|
/**
|
|
611
662
|
* Registers all 10 tools on a given `McpServer` instance. Extracted from
|
|
612
663
|
* module-level top code (#540) so tests can build an in-memory server +
|
|
@@ -883,7 +934,11 @@ export function registerTools(server) {
|
|
|
883
934
|
"file wasn't redacted by this tool), it falls back to a general on-device " +
|
|
884
935
|
"re-scan of the whole file and reports whether anything is still " +
|
|
885
936
|
"detectable — a good-faith re-check, not a claim of the same rigor as the " +
|
|
886
|
-
"sidecar-based path."
|
|
937
|
+
"sidecar-based path. This is a self-check for the person who just " +
|
|
938
|
+
"redacted, typically the one holding the sidecar file — a third-party " +
|
|
939
|
+
"recipient who only has the delivered PDF should use `verify_document` " +
|
|
940
|
+
"instead, which checks the embedded audit report and seal rather than " +
|
|
941
|
+
"re-scanning region bytes.",
|
|
887
942
|
inputSchema: {
|
|
888
943
|
pdfPath: z.string().describe("absolute path to the redacted PDF to verify"),
|
|
889
944
|
},
|
|
@@ -1072,16 +1127,14 @@ export function registerTools(server) {
|
|
|
1072
1127
|
outputSchema: verifySealOutputSchema,
|
|
1073
1128
|
}, async ({ pdfPath }) => {
|
|
1074
1129
|
try {
|
|
1075
|
-
const
|
|
1076
|
-
|
|
1077
|
-
if (!raw?.ok) {
|
|
1130
|
+
const result = await runSealVerification(pdfPath);
|
|
1131
|
+
if (!result.ok) {
|
|
1078
1132
|
return {
|
|
1079
|
-
content: [{ type: "text", text: `Could not verify seal: ${
|
|
1133
|
+
content: [{ type: "text", text: `Could not verify seal: ${result.errorText}` }],
|
|
1080
1134
|
isError: true,
|
|
1081
1135
|
};
|
|
1082
1136
|
}
|
|
1083
|
-
const res =
|
|
1084
|
-
const structuredContent = checked(verifySealOutputSchema, toOutputSeal(res));
|
|
1137
|
+
const { res, structuredContent } = result;
|
|
1085
1138
|
if (res.verdict === "seal_unsupported_version") {
|
|
1086
1139
|
return {
|
|
1087
1140
|
content: [
|
|
@@ -1127,6 +1180,87 @@ export function registerTools(server) {
|
|
|
1127
1180
|
};
|
|
1128
1181
|
}
|
|
1129
1182
|
});
|
|
1183
|
+
server.registerTool("verify_document", {
|
|
1184
|
+
description: "Recipient trust-verification: for someone who RECEIVED a PDF from " +
|
|
1185
|
+
"someone else and wants to confirm it's an authentic, unaltered Omitly " +
|
|
1186
|
+
"output — free tier, no licence required. Confirms the embedded audit " +
|
|
1187
|
+
"report and Ed25519 tamper-evidence seal are valid and unaltered since " +
|
|
1188
|
+
"sealing, and reports the seal's own attested verdict — this does not " +
|
|
1189
|
+
"independently re-scan the document for residual PII. For that " +
|
|
1190
|
+
"self-check (typically run by the person who just redacted, not a " +
|
|
1191
|
+
"recipient), use `verify_redaction` instead. The seal proves " +
|
|
1192
|
+
"INTEGRITY, NOT IDENTITY: the signing key is per-install and travels " +
|
|
1193
|
+
"with the file, so a valid seal means 'unchanged since sealed by the " +
|
|
1194
|
+
"holder of this key', never 'produced by Omitly' — compare " +
|
|
1195
|
+
"`sealFingerprint` out-of-band against the fingerprint the sender " +
|
|
1196
|
+
"published if origin matters. Currently requires a configured native " +
|
|
1197
|
+
"engine (OMITLY_ENGINE_DIR/OMITLY_REDACT_BIN) — there is no wasm " +
|
|
1198
|
+
"seal-verification path yet (tracked in issue #113), so a recipient " +
|
|
1199
|
+
"running only `npx omitly-mcp` with no engine installed cannot use " +
|
|
1200
|
+
"this tool until that lands. A `seal_unsupported_version` verdict " +
|
|
1201
|
+
"means this verifier is too old to check the seal at all — that is " +
|
|
1202
|
+
"neither a pass nor a fail; update the verifier rather than trusting " +
|
|
1203
|
+
"or rejecting the file on that basis.",
|
|
1204
|
+
inputSchema: {
|
|
1205
|
+
pdfPath: z.string().describe("absolute path to the PDF to check for an Omitly audit report and seal"),
|
|
1206
|
+
},
|
|
1207
|
+
outputSchema: verifySealOutputSchema,
|
|
1208
|
+
}, async ({ pdfPath }) => {
|
|
1209
|
+
try {
|
|
1210
|
+
const result = await runSealVerification(pdfPath);
|
|
1211
|
+
if (!result.ok) {
|
|
1212
|
+
return {
|
|
1213
|
+
content: [{ type: "text", text: `Could not verify document: ${result.errorText}` }],
|
|
1214
|
+
isError: true,
|
|
1215
|
+
};
|
|
1216
|
+
}
|
|
1217
|
+
const { res, structuredContent } = result;
|
|
1218
|
+
if (res.verdict === "seal_unsupported_version") {
|
|
1219
|
+
return {
|
|
1220
|
+
content: [
|
|
1221
|
+
{
|
|
1222
|
+
type: "text",
|
|
1223
|
+
text: `⚠️ This file carries a seal version (${res.sealVersion ?? "unknown"}) this verifier ` +
|
|
1224
|
+
"does not implement. Nothing was cryptographically checked — this is " +
|
|
1225
|
+
"neither a pass nor a fail. Update the verifier to get a real verdict." +
|
|
1226
|
+
(res.carriesAuditReport
|
|
1227
|
+
? " The file DOES carry an Omitly audit report, which raises the stakes: " +
|
|
1228
|
+
"an altered-and-relabelled Omitly output can look exactly like this " +
|
|
1229
|
+
"to a verifier that's too old to check the seal — treat this as needing " +
|
|
1230
|
+
"escalation, not a benign version mismatch."
|
|
1231
|
+
: " No Omitly audit report was found alongside it.") +
|
|
1232
|
+
`\n\n${JSON.stringify(res, null, 2)}`,
|
|
1233
|
+
},
|
|
1234
|
+
],
|
|
1235
|
+
structuredContent,
|
|
1236
|
+
};
|
|
1237
|
+
}
|
|
1238
|
+
// Same non-overclaim discipline as verify_seal (CLAUDE.md invariant #2):
|
|
1239
|
+
// integrity only, never an origin/production claim.
|
|
1240
|
+
const summary = res.verdict === "verified"
|
|
1241
|
+
? `✅ This document's audit report and seal are intact — unchanged since they were sealed. ` +
|
|
1242
|
+
`That is an INTEGRITY check, not proof of origin: the signing key is per-install and ` +
|
|
1243
|
+
`ships with the file, so compare the fingerprint (${res.sealFingerprint ?? "none reported"}) ` +
|
|
1244
|
+
`out-of-band against what the sender published if you need to know who sealed it. This did ` +
|
|
1245
|
+
`NOT re-scan the document for residual PII — use \`verify_redaction\` for that.`
|
|
1246
|
+
: res.verdict === "no_report"
|
|
1247
|
+
? `⚠️ No Omitly audit report was found in this document — there is nothing here for this ` +
|
|
1248
|
+
`tool to verify. This does not mean the document is unsafe, only that it was not sealed ` +
|
|
1249
|
+
`by (or the report was stripped from) this pipeline.`
|
|
1250
|
+
: `⚠️ Seal verdict: ${res.verdict} — do not treat this file's audit trail as trustworthy.`;
|
|
1251
|
+
return {
|
|
1252
|
+
content: [{ type: "text", text: `${summary}\n\n${JSON.stringify(res, null, 2)}` }],
|
|
1253
|
+
structuredContent,
|
|
1254
|
+
isError: isSealErrorVerdict(res.verdict),
|
|
1255
|
+
};
|
|
1256
|
+
}
|
|
1257
|
+
catch (e) {
|
|
1258
|
+
return {
|
|
1259
|
+
content: [{ type: "text", text: `Could not verify document: ${e.message}` }],
|
|
1260
|
+
isError: true,
|
|
1261
|
+
};
|
|
1262
|
+
}
|
|
1263
|
+
});
|
|
1130
1264
|
server.registerTool("create_pdf", {
|
|
1131
1265
|
description: "Generate a clean PDF from Markdown (or raw HTML) on-device, rendered through " +
|
|
1132
1266
|
"a real browser engine so it looks printed — not like a script's best guess. " +
|
|
@@ -1321,9 +1455,11 @@ export function registerTools(server) {
|
|
|
1321
1455
|
"whose content stream could not be read (corrupt or size-capped) reports " +
|
|
1322
1456
|
"'contentDecoded: false' with empty text rather than being silently skipped or " +
|
|
1323
1457
|
"counted as blank. Does NOT render pages to images — text only. Free tier, no " +
|
|
1324
|
-
"licence required;
|
|
1325
|
-
"find_sensitive_regions/locate_text
|
|
1326
|
-
"
|
|
1458
|
+
"licence required; works zero-install via the bundled wasm engine, same as " +
|
|
1459
|
+
"find_sensitive_regions/locate_text/check_redaction/verify_redaction — a " +
|
|
1460
|
+
"configured native engine (OMITLY_ENGINE_DIR) is preferred when available (also " +
|
|
1461
|
+
"enables the 'regions' filter, wasm-only ignores it and scans every pattern) but " +
|
|
1462
|
+
"not required. The file is never uploaded: extraction runs entirely on-device.",
|
|
1327
1463
|
inputSchema: {
|
|
1328
1464
|
pdfPath: z.string().describe("absolute path to the PDF to extract text from"),
|
|
1329
1465
|
regions: z
|
|
@@ -1344,12 +1480,7 @@ export function registerTools(server) {
|
|
|
1344
1480
|
try {
|
|
1345
1481
|
const confined = confineInput(pdfPath, ROOT);
|
|
1346
1482
|
const wantMasked = masked ?? true;
|
|
1347
|
-
const res = await
|
|
1348
|
-
command: "extract_text",
|
|
1349
|
-
pdfPath: confined,
|
|
1350
|
-
regions,
|
|
1351
|
-
masked: wantMasked,
|
|
1352
|
-
});
|
|
1483
|
+
const res = await extractTextViaEngineOrWasm(confined, regions, wantMasked);
|
|
1353
1484
|
if (!res?.ok) {
|
|
1354
1485
|
return {
|
|
1355
1486
|
content: [{ type: "text", text: `Extraction failed: ${res?.error ?? "unknown error"}` }],
|
|
@@ -1364,9 +1495,11 @@ export function registerTools(server) {
|
|
|
1364
1495
|
`values will then appear in this response).\n\n`
|
|
1365
1496
|
: `⚠️ RAW TEXT requested (masked:false) — ${totalSpans} PII span(s) are flagged ` +
|
|
1366
1497
|
`in "spans" but "text" itself is UNMASKED.\n\n`) +
|
|
1498
|
+
(res.note ? `Note: ${res.note}\n\n` : "") +
|
|
1367
1499
|
JSON.stringify(pages, null, 2);
|
|
1368
1500
|
const structuredContent = checked(extractPdfTextOutputSchema, {
|
|
1369
1501
|
masked: wantMasked,
|
|
1502
|
+
...(res.note ? { note: res.note } : {}),
|
|
1370
1503
|
pages: pages.map(toOutputExtractedPage),
|
|
1371
1504
|
});
|
|
1372
1505
|
return { content: [{ type: "text", text: summary }], structuredContent };
|
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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "omitly-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.14",
|
|
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/skill/SKILL.md
CHANGED
|
@@ -49,6 +49,14 @@ removes the underlying bytes and independently verifies each region is empty.
|
|
|
49
49
|
Report it that way, and point the user at `sealFingerprint` for out-of-band
|
|
50
50
|
comparison if they care about origin.
|
|
51
51
|
|
|
52
|
+
- **"I received this PDF from someone else — is it genuine?" (recipient, not
|
|
53
|
+
the person who redacted it)** → `verify_document` (omitly#113). Same
|
|
54
|
+
check as `verify_seal` above (identical verdicts, same integrity-not-identity
|
|
55
|
+
caveat) — it exists as a separate, recipient-worded tool/description so the
|
|
56
|
+
guarantee it makes (report+seal integrity) isn't confused with
|
|
57
|
+
`verify_redaction`'s survivor re-scan. Also currently native-engine-only —
|
|
58
|
+
there is no wasm seal-verification path yet.
|
|
59
|
+
|
|
52
60
|
## Rules
|
|
53
61
|
|
|
54
62
|
1. **Never echo a raw sensitive value.** The tools return *masked* previews
|
package/wasm/leakcheck_wasm.d.ts
CHANGED
|
@@ -6,6 +6,38 @@
|
|
|
6
6
|
*/
|
|
7
7
|
export function engine_version(): string;
|
|
8
8
|
|
|
9
|
+
/**
|
|
10
|
+
* Extract a PDF's text page by page, with PII spans, entirely client-side —
|
|
11
|
+
* the wasm twin of `extract_text`, giving `extract_pdf_text` the same
|
|
12
|
+
* zero-install fallback its four detection siblings (`scan`/`locate`, native
|
|
13
|
+
* names `find`/`locate_text`) already have (omitly#1169). It was the one
|
|
14
|
+
* free MCP tool that silently required a native engine while its siblings
|
|
15
|
+
* ran on bundled wasm.
|
|
16
|
+
*
|
|
17
|
+
* Called from JS as `extract_text(new Uint8Array(arrayBuffer), masked)`.
|
|
18
|
+
* Output shape is `{ ok, masked, pages: [{ page, contentDecoded, text,
|
|
19
|
+
* spans: [{ kind, start, end }] }] }` — deliberately identical to
|
|
20
|
+
* `omitly-cli`'s native `extract_text` command (`do_extract_text` in
|
|
21
|
+
* `crates/omitly-cli/src/main.rs`), so the MCP server's
|
|
22
|
+
* `toOutputExtractedPage` mapping works unchanged regardless of which engine
|
|
23
|
+
* produced the result.
|
|
24
|
+
*
|
|
25
|
+
* `spans[].start`/`end` are CHAR (Unicode scalar value) offsets, never byte
|
|
26
|
+
* offsets — see `TextSpan`'s doc comment in `redaction_core::detect` for
|
|
27
|
+
* why (a mask replacement character is 3 UTF-8 bytes but 1 char, so only
|
|
28
|
+
* char offsets stay valid across the masked/raw distinction; this crate has
|
|
29
|
+
* been bitten by byte-vs-char confusion before, omitly#744's `café`
|
|
30
|
+
* fixture). This binding does not recompute them, only serializes what
|
|
31
|
+
* `extract_text` already produced in char space — verified unchanged by
|
|
32
|
+
* this crate's own non-ASCII regression test.
|
|
33
|
+
*
|
|
34
|
+
* Unlike the native path, region narrowing (`extract_text_in`) is not
|
|
35
|
+
* exposed here: wasm always scans every pattern, the same "more results,
|
|
36
|
+
* never fewer" posture `findViaEngineOrWasm` already applies to
|
|
37
|
+
* `find_sensitive_regions`'s wasm fallback.
|
|
38
|
+
*/
|
|
39
|
+
export function extract_text(bytes: Uint8Array, masked: boolean): string;
|
|
40
|
+
|
|
9
41
|
/**
|
|
10
42
|
* Locate literal strings (names, addresses — whatever the caller's own entity
|
|
11
43
|
* recognition turns up) and return their masked positions, the wasm twin of the
|
package/wasm/leakcheck_wasm.js
CHANGED
|
@@ -22,6 +22,59 @@ function engine_version() {
|
|
|
22
22
|
}
|
|
23
23
|
exports.engine_version = engine_version;
|
|
24
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Extract a PDF's text page by page, with PII spans, entirely client-side —
|
|
27
|
+
* the wasm twin of `extract_text`, giving `extract_pdf_text` the same
|
|
28
|
+
* zero-install fallback its four detection siblings (`scan`/`locate`, native
|
|
29
|
+
* names `find`/`locate_text`) already have (omitly#1169). It was the one
|
|
30
|
+
* free MCP tool that silently required a native engine while its siblings
|
|
31
|
+
* ran on bundled wasm.
|
|
32
|
+
*
|
|
33
|
+
* Called from JS as `extract_text(new Uint8Array(arrayBuffer), masked)`.
|
|
34
|
+
* Output shape is `{ ok, masked, pages: [{ page, contentDecoded, text,
|
|
35
|
+
* spans: [{ kind, start, end }] }] }` — deliberately identical to
|
|
36
|
+
* `omitly-cli`'s native `extract_text` command (`do_extract_text` in
|
|
37
|
+
* `crates/omitly-cli/src/main.rs`), so the MCP server's
|
|
38
|
+
* `toOutputExtractedPage` mapping works unchanged regardless of which engine
|
|
39
|
+
* produced the result.
|
|
40
|
+
*
|
|
41
|
+
* `spans[].start`/`end` are CHAR (Unicode scalar value) offsets, never byte
|
|
42
|
+
* offsets — see `TextSpan`'s doc comment in `redaction_core::detect` for
|
|
43
|
+
* why (a mask replacement character is 3 UTF-8 bytes but 1 char, so only
|
|
44
|
+
* char offsets stay valid across the masked/raw distinction; this crate has
|
|
45
|
+
* been bitten by byte-vs-char confusion before, omitly#744's `café`
|
|
46
|
+
* fixture). This binding does not recompute them, only serializes what
|
|
47
|
+
* `extract_text` already produced in char space — verified unchanged by
|
|
48
|
+
* this crate's own non-ASCII regression test.
|
|
49
|
+
*
|
|
50
|
+
* Unlike the native path, region narrowing (`extract_text_in`) is not
|
|
51
|
+
* exposed here: wasm always scans every pattern, the same "more results,
|
|
52
|
+
* never fewer" posture `findViaEngineOrWasm` already applies to
|
|
53
|
+
* `find_sensitive_regions`'s wasm fallback.
|
|
54
|
+
* @param {Uint8Array} bytes
|
|
55
|
+
* @param {boolean} masked
|
|
56
|
+
* @returns {string}
|
|
57
|
+
*/
|
|
58
|
+
function extract_text(bytes, masked) {
|
|
59
|
+
let deferred2_0;
|
|
60
|
+
let deferred2_1;
|
|
61
|
+
try {
|
|
62
|
+
const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
|
|
63
|
+
const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export3);
|
|
64
|
+
const len0 = WASM_VECTOR_LEN;
|
|
65
|
+
wasm.extract_text(retptr, ptr0, len0, masked);
|
|
66
|
+
var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
|
|
67
|
+
var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
|
|
68
|
+
deferred2_0 = r0;
|
|
69
|
+
deferred2_1 = r1;
|
|
70
|
+
return getStringFromWasm0(r0, r1);
|
|
71
|
+
} finally {
|
|
72
|
+
wasm.__wbindgen_add_to_stack_pointer(16);
|
|
73
|
+
wasm.__wbindgen_export2(deferred2_0, deferred2_1, 1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.extract_text = extract_text;
|
|
77
|
+
|
|
25
78
|
/**
|
|
26
79
|
* Locate literal strings (names, addresses — whatever the caller's own entity
|
|
27
80
|
* recognition turns up) and return their masked positions, the wasm twin of the
|
|
Binary file
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
/* eslint-disable */
|
|
3
3
|
export const memory: WebAssembly.Memory;
|
|
4
4
|
export const engine_version: (a: number) => void;
|
|
5
|
+
export const extract_text: (a: number, b: number, c: number, d: number) => void;
|
|
5
6
|
export const locate: (a: number, b: number, c: number, d: number, e: number) => void;
|
|
6
7
|
export const scan: (a: number, b: number, c: number) => void;
|
|
7
8
|
export const __wbindgen_export: (a: number) => void;
|