ESIGN digital signature — Koder Signer US profile (stub)

US profile (`?jurisdiction=us`) of the Koder Signer service per `rfcs/signing-RFC-001-multi-jurisdiction.kmd`. Covers the two ESIGN levels (simple / AATL), Adobe AATL trust bundle, intent metadata requirement, and optional NIST 800-63 IAL/AAL declaration for federal interactions. STUB — placeholder opened in signer#013 (wave C, 2026-05-23); full normative content lands when wave F begins (see RFC §Phasing).

Spec (stub) — ESIGN digital signature (Koder Signer US profile)

Version: 0.0.1 — Stub Status: Placeholder (20260523, signer#013 wave C)

*his spec is a placeholder.*The slot exists so the multi-jurisdiction registry, request validators, and CLAUDE.md trigger table can reference a stable path. Normative content lands when wave F of signing-RFC-001-multi-jurisdiction.kmd begins.

Until then, POST /v1/sign/<format>?jurisdiction=us returns 501 KSIGNER-JURIS-6001 jurisdiction_not_implemented (see icp-brasil.kmd R7).

To be detailed at wave-F start

Per RFC §"Jurisdiction profiles" → US:

  • *1 — Signature levels* level=simple|aatl request parameter; simple = any cert + intent metadata; aatl = cert must chain to Adobe Approved Trust List
  • *2 — Intent metadata* per ESIGN Act 2000 + UETA, signatures MUST carry a metadata block demonstrating signer's intent to sign (request param intent_statement, written to PDF /Reason field for PAdES; CMS signed attribute for CAdES)
  • *3 — Trust source* Adobe AATL snapshot, distributed as CSV; refreshed quarterly (Adobe's cadence); local cache; failure to refresh logs warning but does not stop simple-level signing
  • *4 — NIST 80063 declaration* optional request fields ial=1|2|3 + aal=1|2|3 per NIST SP 800633; written as signed attributes for federalinteraction compliance audit
  • *5 — UETA per-state caveats* a few states (NY, WA, IL) have UETA variants that touch signature timestamps differently — captured as conformance notes, not blocking checks
  • *6 — Error map* KSIGNER-ESIGN-NNNN series (AATL refresh, intent missing, IAL/AAL mismatch, etc.)
  • *7 — Multitenancy* inherits `policies/multitenantbydefault.kmd`

Out (separate specs)

  • DocuSign / Adobe Sign API compatibility — different problem space (mostly workflow/identity verification, not crypto); separate product roadmap
  • ESIGN consumerdisclosure recordretention requirements (UETA §103) — operator's compliance team handles; not signer code

Source: ../home/koder/dev/koder/meta/docs/stack/specs/signing/esign.kmd