Skip to main content

Lifecycle · Article 2.5

Estado: Firmada — vinculante legalmente, rastro de auditoría capturado

El cliente ha pulsado Firmar. Clozo registra una Firma Electrónica Simple (SES) conforme al art. 3(10) eIDAS, genera el PDF del contrato de prestación de servicios firmado, dispara correos de confirmación a ambas partes y encola la factura de anticipo. La propuesta es ya un contrato, defendido por la fila SignatureAudit.

Where this fits in the lifecycle

Tap any card to open its detail article.

El evento de firma es el pivote legal. Hasta este momento, la propuesta era una oferta; el cliente podía rechazarla o ignorarla sin consecuencias. Ahora es un acuerdo vinculante bajo el derecho contractual de la UE. La firma en sí es una Firma Electrónica Simple (SES) conforme al art. 3(10) del Reglamento (UE) n.º 910/2014 eIDAS — no una Firma Electrónica Avanzada (AES) y no una Firma Electrónica Cualificada (QES). Lo que la hace exigible es el rastro de auditoría que Clozo escribe junto a ella, junto con la regla del art. 25(1) de que una firma no puede verse privada de efectos jurídicos ni de admisibilidad como prueba por el mero hecho de presentarse en formato electrónico.

Step by step

  1. El cliente pulsa Firmar.

    Una ventana modal le pide que escriba su nombre completo y confirme el consentimiento ("Confirmo que estoy autorizado a firmar este contrato en nombre de [nombre del cliente] / por mí mismo.").

  2. En el servidor: se escribe la fila SignatureAudit.

    En unos 200 ms: se crea la fila SignatureAudit (signed_at, ip_address, user_agent, signer_name, signer_email, consent, raw_event JSONB), se renderiza el PDF firmado del contrato de prestación de servicios con ambos nombres y la marca de tiempo embebida.

  3. El estado pasa a Firmada.

    La línea de tiempo recibe un evento Firmada a las HH:MM UTC con el resumen de auditoría.

  4. Se genera el PDF del contrato de prestación de servicios.

    AGR-2026-NNNN aparece en el desplegable Documentos (un documento separado de la propuesta — la propuesta es la oferta; el contrato, el acuerdo).

  5. Se disparan los correos de confirmación.

    Usted y el cliente reciben cada uno un correo con el contrato firmado adjunto. Asunto: "Firmada: [título de la propuesta]". El correo del cliente incluye además la factura de anticipo y un botón "Pagar ahora" si Stripe está conectado.

  6. Se genera la factura de anticipo.

    DEP-2026-NNNN se crea en 5 segundos y se adjunta al correo de confirmación del cliente.

Insignia verde Firmada reemplazando al índigo Vista. Evento en la línea de tiempo "Firmada a las HH:MM por [nombre del cliente]" con IP y User-Agent desplegables. El desplegable Documentos suma dos entradas nuevas: contrato de prestación de servicios firmado (AGR), factura de anticipo (DEP). Llega un correo de confirmación a su bandeja con el AGR adjunto. Los botones de acción cambian: Retirar desaparece (no se puede deshacer un contrato firmado — ahora solo un Anexo puede cambiar el alcance); aparecen botones nuevos: Marcar anticipo como pagado manualmente, Reenviar factura de anticipo, Emitir factura final (en gris hasta que llegue el anticipo).

Why this works this way

Lo que capturamos en el momento de la firma, en una transacción atómica de base de datos: (1) Aserto de identidad: el nombre y correo escritos por el cliente, coincidentes con la ficha del cliente (signer_name, signer_email en la fila SignatureAudit); (2) Prueba de posesión: introducción del PIN de 4 dígitos, que demuestra que tenía acceso al buzón de correo donde se envió — según el código en ejecución (endurecimiento HIGH-BE-002, auditoría 2026-04-28), 5 intentos erróneos de PIN en una ventana deslizante de 1 hora bloquean el slug de la propuesta durante 24 horas, con un límite de tasa separado de 10 solicitudes/minuto por IP en el mismo punto de acceso; (3) Contexto técnico: ip_address (GenericIPAddressField), cadena user_agent, encabezados de petición completos en raw_event (JSONB), marca de tiempo signed_at; (4) Registro de consentimiento: el campo consent recoge la confirmación afirmativa de que el firmante está autorizado a vincular a la parte indicada. Esta es la pila SES + rastro de auditoría definida en [A-007] (DECISIONS.md): «e-Signature: eIDAS SES (Firma Electrónica Simple) — clic-para-firmar + confirmación por correo. Almacenar IP + marca de tiempo + cadena de correo durante 10 años.»

El camino de firma no calcula un hash SHA-256 del PDF renderizado y no vincula criptográficamente la firma al contenido del documento del modo que exige el art. 26(d) para una Firma Electrónica Avanzada. El sello de tiempo de confianza RFC 3161 figura en la hoja de ruta [D-111] (Fase 4) pero no forma parte del camino de firma v1. Lo que tenemos es integridad a nivel de almacenamiento: el PDF renderizado se escribe en Cloudflare R2 (región UE) con el indicador legal_hold activado, lo que impide la sobrescritura o eliminación dentro de la ventana de conservación — necesario pero distinto de un sello criptográfico de firma-a-documento. Para Firmas Electrónicas Cualificadas (QES) bajo el art. 3(12) se necesitaría un dispositivo hardware de un Prestador de Servicios de Confianza (p. ej. FNMT-RCM en España, Bundesdruckerei en Alemania). La QES es necesaria para algunos tipos concretos de contratos (actos notariales inmobiliarios, ciertos productos de servicios financieros regulados, presentaciones judiciales en algunos Estados miembros y contratos del sector público bajo art. 27 eIDAS cuando el organismo receptor lo exige explícitamente); para la inmensa mayoría del trabajo de un autónomo — diseño, desarrollo, consultoría, fotografía, copywriting — la SES respaldada por la fila SignatureAudit de 10 años de Clozo es suficiente y exigible.

La conservación a 10 años se impone por GoBD §147 AO (Alemania), Wet OB art. 52 (Países Bajos), CGI art. L102 B (Francia), Codice Civile art. 2220 (Italia) y normas equivalentes en otros países de la UE: los documentos con relevancia fiscal deben estar disponibles para inspección durante una década. En España, la LGT art. 70 exige 4 años para fines fiscales y el Código de Comercio art. 30 exige 6 años por motivos mercantiles; Clozo aplica de forma uniforme el plazo más estricto (10 años). Clozo guarda el PDF firmado en Cloudflare R2 con el indicador legal_hold activado, de modo que no puede eliminarse — ni por usted ni por un administrador — hasta que expire la ventana de conservación. Las solicitudes de derecho de supresión bajo el art. 17 RGPD se honran dentro de los límites del art. 17(3)(b), que permite la conservación cuando es necesaria para cumplir una obligación legal.

Troubleshooting

Keep reading

Estado: Firmada — vinculante legalmente, rastro de auditoría capturado · Help · Clozo