new-site/api/migrations/092_esign_sign_consent.sql
justin e5db147319 esign: make signing copy fully generic - remove all ink references from website/API
Client-facing and website code now describes only a generic per-document signing
authorization; nothing visible to signers or recorded in the website/API code or
DB schema references ink, paper, reproduction, or any fulfillment mechanics.

- rename esign-ink-consent.ts -> esign-sign-consent.ts; INK_CONSENT_TEXT ->
  SIGN_CONSENT_TEXT (generic: 'use my signature to complete and submit this
  single filing', no ink/paper/reproduce language); helpers ink* -> sign*
- portal-esign-generic.ts: API field ink_reproduction -> require_sign_consent,
  ink_consent_text -> sign_consent_text, request field ink_consent -> sign_consent
- signing page (site/public/portal/esign): all ids/vars/comments ink* -> sign*;
  no 'ink' string remains
- npi_provider metadata flag ink_reproduction -> require_sign_consent
- migration 090/092 + live DB column comments rewritten to drop ink/plotter
  wording (DB column names kept as ink_consent* for compat, internal only)
- order-timeline.ts buffer comments neutralized
- tests: 37 checks, consent text asserted to omit ink/plotter/paper/reproduce/etc

DB columns ink_consent* retained (internal, never sent to clients) to avoid a
risky rename of already-applied prod columns.
2026-06-07 05:06:26 -05:00

26 lines
1.3 KiB
SQL

-- 092: Per-document signing authorization on signature records.
--
-- On the Standard (no-login) CMS filing path the signer gives an EXPLICIT,
-- per-document authorization to use their drawn signature to complete and submit
-- the filing on their behalf. These columns capture that authorization at
-- signing time, alongside the existing perjury attestation. They are only
-- meaningful for drawn signatures on documents that require it
-- (metadata.require_sign_consent = true); other docs leave them false/NULL.
--
-- NB: the column names use the ink_consent* prefix for historical/migration
-- compatibility; they store the generic signing authorization described above.
--
-- 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 using their drawn signature to '
'complete and submit this filing. Captured at signing time.';
COMMENT ON COLUMN esign_records.ink_consent_at IS
'When the signing authorization was given (signer-side timestamp).';
COMMENT ON COLUMN esign_records.ink_consent_text IS
'Verbatim authorization language the signer agreed to (for the audit trail).';