Introdução
Assinatura nativa de Effect para TypeScript — A1 primeiro, uma fronteira Signatures, formatos XML/PDF ao redor e UI de navegador na borda da app.
SignatureKit mantém o poder de assinatura atrás de um serviço Effect. Comece com certificado A1 / PKCS#12; reutilize a mesma fronteira no Node, no navegador, em XML-DSig e em PDF/PAdES. Provedores remotos continuam como APIs próprias, sem virar um gateway universal falso.
Escolha o caminho
Primeira assinatura
Carregue um A1, leia a identidade, assine bytes e verifique o resultado.
Certificados A1
PKCS#12, identidade e-CPF / e-CNPJ, senha e falhas comuns de certificado.
Fronteira de assinatura
O contrato SignerAdapter e o serviço Signatures consumido por formatos e React.
Fluxo PDF no navegador
PDF entra, UI posiciona a assinatura, layer A1 roda só na ação do usuário.
O contrato
import { a1SignaturesLayer } from "@signature-kit/a1/signer"
import { signatures } from "@signature-kit/core/signatures"
import { Effect, Redacted } from "effect"
export const program = Effect.gen(function* () {
const identity = yield* signatures.inspect()
const artifact = yield* signatures.sign({ content, algorithm: "rsa-sha256" })
return { identity, artifact }
}).pipe(
Effect.provide(
a1SignaturesLayer({
pfx,
password: Redacted.make("certificate-password"),
}),
),
)Esse programa não sabe onde a chave vive. A1 no navegador, A1 no servidor e módulos de formato fornecem ou consomem o mesmo serviço Signatures.
O que importa
- A1 primeiro. O signer local principal é PKCS#12 (
.pfx/.p12) com segredo emRedacted. - PDF no navegador pertence ao formato.
@signature-kit/pdfcuida de bytes, estado de posicionamento e assinatura PDF A1 no navegador; a UI da app só assina esse estado e fornecea1SignaturesLayerna fronteira da ação. - Formatos fazem o trabalho de documento. XML-DSig e PDF/PAdES mutam documentos ao redor de
signatures.sign; adapters de signer não cuidam de XML ou layout de PDF. - Falhas são valores. Erros recuperáveis são
SignatureKitErrortipados no canal de erro do Effect, não exceções lançadas.
Aprofunde
PDF/PAdES
CMS detached e tamanho de placeholder para documentos PDF.
XML-DSig
Mutação de XML com dependência explícita de XmlRuntime.
APIs de provedores
Clicksign, Assinafy, ZapSign, DocuSeal e Documenso como pacotes upstream explícitos.
Catálogo de erros
Códigos literais e metadados preservados em cada ponto de falha.
npm install @signature-kit/core @signature-kit/a1Verificações locais não são validade jurídica
verifyXml, verifyPdf e signatures.verify confirmam a criptografia contra a chave presente no
documento — não a validade jurídica. Verifique com sua própria cadeia de confiança e política ICP-Brasil antes de
tratar um documento assinado como válido.