DocuSeal auto-hospedado: alternativa a DocuSign para firmas electrónicas
Qué trata este artículo
- Qué es DocuSeal: plataforma de firma electrónica de código abierto como alternativa a DocuSign.
- Configuración con Docker y flujo de documentos.
- Constructor de formularios, campos de firma, flujo de destinatarios.
- API y Webhooks para automatización.
- Consideraciones legales: firma simple vs. avanzada vs. cualificada.
Introducción
DocuSeal es la principal alternativa de código abierto a DocuSign: subes documentos, colocas campos de firma, los envías a destinatarios, ellos firman en el navegador, listo. Auto-hospedado significa que los contratos y firmas permanecen en tu servidor.
Importante para Alemania: DocuSeal genera firmas electrónicas simples (eES), suficiente para muchos documentos comerciales, pero no para todo (por ejemplo, no para créditos al consumo o contratos de trabajo de duración determinada que requieren forma escrita). Para firmas avanzadas o cualificadas (eIDAS) necesitas un proveedor de servicios de confianza.
Casos de uso típicos
- Contratos de freelancers: NDAs, contratos de servicios para firmar rápidamente.
- Consentimientos: consentimientos GDPR, confirmaciones de pedidos.
- Documentos de RR.HH.: Importante: verifica qué documentos permiten firma simple.
- Aprobaciones internas: documentos generados por IA → DocuSeal → firma.
- Envío automatizado de contratos: trato ganado en CRM → contrato automático para firmar.
Instalación: Docker
services:
docuseal:
image: docuseal/docuseal:latest
ports:
- "127.0.0.1:8083:3000"
environment:
- DATABASE_URL=postgresql://docuseal:geheim@db:5432/docuseal
- SECRET_KEY_BASE=langer-zufaelliger-key
- SMTP_ADDRESS=smtp.dein-server.de
- SMTP_PORT=587
- SMTP_USERNAME=rechnung@deine-domain.de
- SMTP_PASSWORD=...
- SMTP_FROM=signatur@deine-domain.de
volumes: [docuseal_data:/data]
depends_on: [db]
restart: always
db:
image: postgres:16
environment:
POSTGRES_USER: docuseal
POSTGRES_PASSWORD: geheim
POSTGRES_DB: docuseal
volumes: [pg_data:/var/lib/postgresql/data]
restart: always
volumes:
docuseal_data:
pg_data:
El asistente de configuración se ejecuta al primer acceso: crea la cuenta de administrador, nombre de la empresa, SMTP para los correos de firma.
Flujo de trabajo
- Template: carga un PDF, coloca campos de firma, fecha y texto con arrastrar y soltar.
- Envío: introduce los correos de los destinatarios, DocuSeal envía el enlace de firma.
- Firma: el destinatario abre el enlace (sin necesidad de cuenta), escribe su nombre o dibuja la firma.
- Finalización: todos reciben el PDF firmado más el registro de auditoría.
API para automatización
DocuSeal tiene una API REST y Webhooks:
import requests
DS = "https://signatur.deine-domain.de"
HEADERS = {"X-Auth-Token": "dein-api-key"}
# Enviar template
r = requests.post(f"{DS}/api/submissions", headers=HEADERS, json={
"template_id": 123,
"send_email": True,
"submitters": [
{"role": "Kunde", "email": "kunde@firma.de"},
{"role": "Wir", "email": "chef@deine-domain.de"},
]
})
# Webhook: en submission.completed → archivado + actualización CRM
Integración con n8n
Twenty-Webhook: Deal won
│
▼
Stirling-PDF: generar PDF de contrato desde template
│
▼
DocuSeal API: crear submission
│
▼
Webhook de vuelta: submission.completed
│
├─→ PDF firmado → Nextcloud/Paperless archivar
└─→ Actualizar CRM: Deal → "Contrato firmado"
Consideraciones legales (Alemania/UE)
| Tipo de firma | DocuSeal | Para qué |
|---|---|---|
| Simple (eES) | ✅ | Documentos internos, contratos simples, consentimientos |
| Avanzada (AES) | ⚠️ Parcialmente | Vinculación de identidad más fuerte, con pasos adicionales |
| Cualificada (QES) | ❌ | Sustitución de forma escrita (p. ej. contratos de trabajo de duración determinada, garantías), requiere Trust Service |
Práctica: para la mayoría de contratos de freelancers, NDAs, confirmaciones de pedidos, la firma simple es suficiente. Para documentos que requieren QES, usa DocuSign/Skribble/FP-Sign o consulta a un abogado.
Seguridad
- Registro de auditoría: DocuSeal registra IP, marca de tiempo, verificación de correo, importante para validez probatoria.
- HTTPS: obligatorio: los enlaces de firma deben ser confiables.
- Autenticación por correo: SMTP con SPF/DKIM, de lo contrario los correos de firma terminan en spam.
- Soberanía de datos: la razón principal para auto-hospedarse: los contratos permanecen bajo tu control.
Enlaces relacionados
- IRC-Coding.de: Tutoriales de programación: Webhooks, manejo de PDF.
- Stirling-PDF: Procesamiento de PDF antes de la firma.
- Twenty CRM: Automatización Deal → Contrato.
- Invoice Ninja: Facturas después del cierre de contrato.
- n8n: Automatización de flujos.
Puntos clave:
- DocuSeal = DocuSign de código abierto: coloca campos de firma en PDFs, envía enlaces a destinatarios, genera registro de auditoría.
- Auto-hospedado = los datos de contrato permanecen bajo tu control (GDPR).
- Legalmente: firma electrónica simple (eES), válida para muchos documentos, no para requisitos de forma escrita.
- API + Webhooks → automatización fluida (CRM → envío → archivado).
- Combinación potente: Stirling-PDF (genera) → DocuSeal (firma) → Paperless (archiva).
FAQ
¿Es válida legalmente una firma de DocuSeal?
¿DocuSeal o DocuSign?
¿Qué tan probatoria es?
¿Varios firmantes?
¿Se pueden reutilizar templates?
¿Gratuito?
Fuentes y lecturas complementarias
- DocuSeal: GitHub.
- DocuSeal Docs: Documentación.
- IRC-Coding.de: Tutoriales de programación.


