esign: ink-reproduction consent gate + patent-risk research
Consent gate (the legal linchpin from the wet-signature memo): - migration 092 adds ink_consent/ink_consent_at/ink_consent_text to esign_records - extract pure, unit-tested gate logic into esign-ink-consent.ts (DRY single source for route + signing page): isInkReproduction / inkConsentRequired / inkConsentSatisfied + verbatim client-safe INK_CONSENT_TEXT - portal-esign-generic.ts: GET surfaces ink_reproduction + consent text; POST gates DRAWN signatures on ink-path docs on explicit consent, stores it - signing page locks the signature block until consent is checked (drawn only) - npi_provider marks cms855/cms10114 esign metadata ink_reproduction=true - 33 unit checks: gate truth table + consent text omits all internal mechanics (plotter/machine/CMS/MAC/etc) and keeps required legal reassurances Patent-risk memo (docs/legal/patent-risk-mechanical-wet-signature.md): - prior-art-dated risk analysis (autopen 1803/1942, plotters, CNC = public domain => low risk on core concept; e-sign workflow space litigious) - firsthand recent-grant sweep (1.58M USPTO grants 2021-2025, queried via DuckDB): ZERO patents on machine-applies-signature-in-ink; e-sign players hold only electronic-workflow patents. Not an FTO; flags where attorney search is needed
This commit is contained in:
parent
f8d2a7f01f
commit
a4bad723bc
7 changed files with 452 additions and 5 deletions
28
api/migrations/092_esign_ink_consent.sql
Normal file
28
api/migrations/092_esign_ink_consent.sql
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
-- 092: Ink-reproduction consent on signature records.
|
||||
--
|
||||
-- The Standard (no-login) CMS filing path reproduces the signer's OWN captured
|
||||
-- signature strokes in real ink on the printed form (pen plotter) so the mailed
|
||||
-- application carries an original ink signature. Per the legal-risk research
|
||||
-- (docs/legal/remote-mechanical-wet-signature-precedent.md), the linchpin that
|
||||
-- keeps this on the valid side of the forgery/agency line is an EXPLICIT,
|
||||
-- per-document authorization from the signer to reproduce their signature in ink
|
||||
-- on this specific document.
|
||||
--
|
||||
-- These columns capture that consent at signing time, alongside the existing
|
||||
-- perjury attestation. They are only meaningful for drawn signatures on ink-path
|
||||
-- documents (metadata.ink_reproduction = true); other docs leave them false/NULL.
|
||||
--
|
||||
-- Idempotent.
|
||||
|
||||
ALTER TABLE esign_records
|
||||
ADD COLUMN IF NOT EXISTS ink_consent BOOLEAN DEFAULT FALSE,
|
||||
ADD COLUMN IF NOT EXISTS ink_consent_at TIMESTAMPTZ,
|
||||
ADD COLUMN IF NOT EXISTS ink_consent_text TEXT;
|
||||
|
||||
COMMENT ON COLUMN esign_records.ink_consent IS
|
||||
'TRUE when the signer expressly authorized reproducing their drawn signature '
|
||||
'in ink on this document (pen-plotter path). Captured at signing time.';
|
||||
COMMENT ON COLUMN esign_records.ink_consent_at IS
|
||||
'When the ink-reproduction consent was given (signer-side timestamp).';
|
||||
COMMENT ON COLUMN esign_records.ink_consent_text IS
|
||||
'Verbatim consent language the signer agreed to (for the audit trail).';
|
||||
Loading…
Add table
Add a link
Reference in a new issue