/** * Standalone Proof Verifier * * Exposes verification as an MCP tool (visus_verify) and as a CLI. * * Usage as MCP tool: * visus_verify({ proof: , signingKey: "" }) * * Usage as CLI: * echo '' | npx ts-node src/crypto/verifier.ts * * Regulatory purpose: * Enables DPAs and conformity assessment bodies to independently verify * that any specific request was processed by the Visus sanitization pipeline. * Per EU AI Act Art. 9(4) and Annex IV, technical documentation must include * "testing, validation and verification procedures." * This tool IS that procedure — callable, scriptable, auditable. */ import { SanitizationProofRecord } from "./primitives.js"; import type { ComplianceMetadata } from "../types.js"; /** * Public proof object — what users receive in tool responses. * Missing inputHash, outputHash, triggeredPatternIds, and proofSignature * (those are stored only in audit log). */ export interface PublicProofObject { request_id: string; proof_hash: string; chain_hash: string; injection_detected: boolean; patterns_evaluated: number; patterns_triggered: number; redactions: number; sanitization_applied: boolean; timestamp_utc: string; pipeline_version: string; schema_version: string; compliance_metadata?: ComplianceMetadata; } export interface VerifyProofInput { proof: SanitizationProofRecord | PublicProofObject; /** * HMAC signing key. For DPA audit: share under NDA. * Omit to skip signature verification (hash-only audit mode). */ signingKey?: string; } export interface VerifyProofOutput { /** Overall verification verdict */ valid: boolean; /** Detailed field-by-field results */ checks: { proofHashMatch: boolean; signatureMatch: boolean | "skipped"; schemaVersionMatch: boolean; }; /** Human-readable audit summary */ auditSummary: string; /** Recomputed hash (for auditor's records) */ recomputedProofHash: string; /** ISO 8601 timestamp of this verification */ verifiedAt: string; /** Original request ID being verified */ requestId: string; /** Issues found. Empty array means valid. */ issues: string[]; /** * Regulatory statement suitable for inclusion in compliance documentation. * Include this verbatim in DPA submissions. */ complianceStatement: string; } export declare function verifyProofRecord(input: VerifyProofInput): Promise; //# sourceMappingURL=verifier.d.ts.map