ESIGN digital signature — Koder Signer US profile (stub)
signing specs/signing/esign.kmd
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).
Quando esta spec se aplica
Triggers primários
- Start wave F of signing-RFC-001
- Open AATL bundle loader in services/crypto/signer
Todos os triggers
- Implement ESIGN-compliant digital signature
- Add Adobe AATL trust list support
- Generate PAdES with intent metadata for US legal use
- Verify NIST 800-63 IAL/AAL declarations on a signature
Corpo da especificação
Spec (stub) — ESIGN digital signature (Koder Signer US profile)
Version: 0.0.1 — Stub Status: Placeholder (2026-05-23, signer#013 wave C)
This 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.kmdbegins.Until then,
POST /v1/sign/<format>?jurisdiction=usreturns501 KSIGNER-JURIS-6001 jurisdiction_not_implemented(seeicp-brasil.kmdR7).
To be detailed at wave-F start
Per RFC §"Jurisdiction profiles" → US:
- R1 — Signature levels:
level=simple|aatlrequest parameter; simple = any cert + intent metadata; aatl = cert must chain to Adobe Approved Trust List - R2 — 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) - R3 — 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
- R4 — NIST 800-63 declaration: optional request fields
ial=1|2|3+aal=1|2|3per NIST SP 800-63-3; written as signed attributes for federal-interaction compliance audit - R5 — 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
- R6 — Error map:
KSIGNER-ESIGN-NNNNseries (AATL refresh, intent missing, IAL/AAL mismatch, etc.) - R7 — Multi-tenancy: inherits
policies/multi-tenant-by-default.kmd
Out (separate specs)
- DocuSign / Adobe Sign API compatibility — different problem space (mostly workflow/identity verification, not crypto); separate product roadmap
- ESIGN consumer-disclosure record-retention requirements (UETA §103) — operator's compliance team handles; not signer code
Referências
meta/docs/stack/rfcs/signing-RFC-001-multi-jurisdiction.kmdmeta/docs/stack/specs/signing/icp-brasil.kmdmeta/docs/stack/specs/errors/user-facing-messages.kmdmeta/docs/stack/policies/self-hosted-first.kmdmeta/docs/stack/policies/reuse-first.kmdhttps://helpx.adobe.com/acrobat/kb/approved-trust-list2.htmlhttps://www.govinfo.gov/content/pkg/PLAW-106publ229/pdf/PLAW-106publ229.pdfhttps://pages.nist.gov/800-63-3/