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
Draft
Only you can see this. Edit anything.

Sent
Email landed in the client's inbox.

Viewed
Client opened the link — awaiting decision.

Signed
Legally binding. Audit trail captured.

Deposit paid
Money in escrow. You can start work.

In work
Project running. Final invoice ready when you're done.

Paid
Final invoice settled. Just one click left.

Completed
Closed. Archived. You did the thing.

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
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.").
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.
El estado pasa a
Firmada.La línea de tiempo recibe un evento
Firmada a las HH:MM UTCcon el resumen de auditoría.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).
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.
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
Lifecycle
Status: Sent — the proposal is in your client's inbox
You've clicked `Send`. The PDF is rendered, the email is on its way, the proposal number is assigned, and the audit trail starts here. Now you wait — until the client opens it (`Viewed`) or signs (`Signed`).
Lifecycle
Status: Deposit paid — work can start
The deposit landed (Stripe webhook or manual confirmation). Clozo flips the status, queues the deposit receipt PDF, and starts a behind-the-scenes job to pre-render the final invoice. You can begin the work.
Proposals & Invoices
The three documents: Proposal, Service Agreement, and the signed PDF
A signed Clozo proposal produces three legal artefacts: the Proposal PDF (the offer), the Service Agreement (the binding contract), and a stored audit trail. Each plays a different legal role under EU contract law and eIDAS Reg. 910/2014.
Compliance
eIDAS: what makes a Clozo signature legally binding in the EU
EU Regulation 910/2014 (eIDAS) defines three signature levels and gives each a clear legal weight. Clozo issues an Advanced Electronic Signature (AES) under Art. 3(11) — equivalent to a handwritten signature for almost all freelancer contracts.
Proposals & Invoices
Creating an amendment (the 4-step wizard)
The amendment wizard at `/proposals/{id}/amend` walks you through line items, reason, preview, and email — in that order. Five minutes for a simple change, ten minutes for a complex one. The client doesn't see anything until you click Send on Step 4.