Niveles de firma
AES firma solo en PAdES. Los valores
xades y cades de signature_format se rechazan para AES con signature_format_not_supported.
Cómo funciona
1
El flujo verifica primero al firmante
El paso de firma se ejecuta después de los pasos que establecen quién firma: la verificación de identidad y la verificación de correo electrónico o de teléfono para el contacto al que se envía el código. Consulta Antes de empezar.
2
Didit prepara los documentos
Cuando el firmante llega al paso, Didit copia los documentos y sus campos a la sesión y registra el SHA-256 de cada documento. Los cambios posteriores en el flujo no pueden alterar lo que ve este firmante.
3
El firmante recorre cada documento
En un documento con campos, se guía al firmante de campo en campo. Adopta una firma una sola vez y se aplica a todos los campos de firma e iniciales, y rellena los campos de texto y de casilla. Los valores que Didit toma de la identidad verificada, de la sesión o de tu sistema ya están en la página. En un documento sin campos, lo lee y lo acepta.
4
El firmante confirma con un código
Cuando algún documento tiene campos, el firmante acepta primero firmar los documentos electrónicamente. Didit envía entonces un código de seis dígitos al correo electrónico o al teléfono que verificó antes en la sesión. Al introducirlo, se autoriza la firma de todos los documentos del paso.
5
Didit firma y sella
Didit rellena la fecha de firma, estampa el valor de cada campo en cada PDF, añade la página de evidencias y después aplica la firma PAdES y el sello de tiempo, de modo que la firma cubre todo lo que hay en la página.
6
Recibes los resultados
La decisión y los webhooks de la sesión incluyen
signatures[] con el firmante, la confirmación, el certificado, el sello de tiempo, los hashes de cada documento y el valor de cada campo. Descargas los PDF firmados y el PDF de evidencias, y Didit puede enviar por correo electrónico una copia al firmante.Antes de empezar
El firmante debe estar verificado antes de poder firmar. Didit toma su nombre y su contacto de los registros verificados de la propia sesión, nunca de lo que tú o el firmante escriban. Para la verificación de usuarios (KYC), coloca estos pasos antes de la firma electrónica en el flujo:- Verificación de identidad, aprobada, con un nombre legible. Sin ella, el paso registra
SIGNATURE_IDENTITY_NOT_VERIFIED. - Verificación de correo electrónico cuando el código se envía por correo (el valor predeterminado), o Verificación de teléfono cuando se envía por SMS. El código solo se envía a un contacto verificado en la misma sesión.
- Si el flujo también tiene prueba de vida, debe estar aprobada.
Un paso KYB tiene entre 1 y 20 firmantes, y cada uno necesita un KYC aprobado en el momento de firmar. Cada uno firma su propia copia de los documentos y confirma con un código enviado al contacto verificado en su propia sesión KYC. El nombre declarado de la persona clave debe coincidir con su nombre verificado, sin distinguir mayúsculas ni espacios, o el paso registra
SIGNATURE_NAME_MISMATCH. El paso termina cuando todos los firmantes han firmado o rechazado.
Documentos
De dónde proceden los documentos
signature_documents_source define de dónde obtiene un paso sus documentos:
Los documentos por sesión son la forma de hacer que una persona firme un contrato con su nombre, importe o condiciones ya rellenados por tu sistema.
Archivos admitidos
Cuando subes un documento de Word, Didit lo convierte a PDF mientras se realiza la subida, en un máximo de 60 segundos. Las páginas convertidas son las que el firmante ve y firma, así que revísalas antes de colocar campos: los saltos de línea pueden diferir ligeramente de Word. El archivo de Word y su PDF pertenecen al mismo documento y se eliminan con él. El PDF de evidencias registra la conversión y el SHA-256 de ambos archivos.
Didit rechaza un archivo de Word con
signature_document_not_supported y un reason cuando lo que se firmaría es ambiguo: tiene macros (macros), cambios con control de cambios sin aceptar (tracked_changes), enlaces a contenido externo (external_links) u objetos incrustados (embedded_objects). Acepta o rechaza los cambios con control de cambios antes de subirlo, para que el PDF muestre el texto que acordaste.
Un archivo que no se puede convertir se rechaza con signature_document_conversion_failed y uno de estos motivos:
Campos en el documento
Los campos convierten un documento en una plantilla que rellena el firmante, igual que prepararías un sobre en una herramienta de firma de escritorio. Un documento sin campos mantiene el flujo más sencillo: el firmante lo lee y lo acepta.
En esta versión no hay un selector de fecha. Usa un campo
text para una fecha que introduzca el firmante.
Un campo tiene estas propiedades:
role_not_used. Todo rol que tenga campos en un documento necesita al menos un campo signature o initials en él, o la versión del flujo no se puede publicar (signature_field_missing).
Validación
validation se aplica a los campos text:
kind:any;letters(letras de cualquier alfabeto, espacios, guiones y apóstrofos);number(dígitos con un separador decimal opcional);email; opattern.min_length: de0hastamax_length.max_length: de1a500. Por defecto,120.pattern: obligatorio conkind: "pattern". Una expresión regular de hasta 200 caracteres que debe coincidir con todo el valor. No se admiten lookarounds ni referencias inversas.message: hasta 120 caracteres, se muestra en lugar del error predeterminado.
Valores rellenados previamente
prefill indica el origen del valor de un campo:
Un campo
data debe tener un prefill. Un campo full_name usa siempre identity.full_name y un campo email usa contact.email, y un campo text también puede tenerlo. Los valores de los campos data, full_name y email verificado quedan fijados cuando el firmante empieza a firmar: los cambios posteriores en la sesión no los modifican. Un campo text o email rellenado previamente es de solo lectura salvo que establezcas editable_when_prefilled.
Cuando el origen de un campo obligatorio no tiene valor en ese momento, por ejemplo una sesión sin dirección, el campo no se muestra vacío. El paso genera SIGNATURE_FIELD_DATA_MISSING y aplica signature_field_data_missing_action (por defecto REVIEW). Con NO_ACTION, el firmante aún puede firmar y el campo queda vacío.
Configúralo en la consola
- Ve a Flujos de trabajo, abre un flujo y añade el paso Firma electrónica después de los pasos que verifican al firmante.
- En Documentos, selecciona Subir para añadir archivos PDF o Word, y arrástralos al orden en el que los ve el firmante. Los archivos de Word se convierten a PDF: revisa las páginas convertidas antes de colocar campos. Reemplazar cambia el archivo de un documento y conserva sus campos, excepto los de las páginas que el nuevo archivo ya no tiene.
- En Coloca campos en los documentos, selecciona Abrir el editor. Arrastra un campo de la paleta a la página, o selecciónalo y haz clic donde va, y después muévelo y cambia su tamaño. Para cada campo, define Quién lo rellena, su etiqueta, si es Obligatorio, qué acepta, de dónde procede su valor y su Clave en la API (el
keydel campo). Vista previa como firmante muestra el documento tal como lo ve el firmante en un teléfono o en un escritorio. El editor guarda sobre la marcha (Guardado en el borrador) y enumera lo que debes corregir antes de seleccionar Listo. - Sin salir de Documentos, elige de dónde proceden los documentos: Este flujo de trabajo, Cada sesión o Ambas. Para documentos sin campos, elige si el firmante debe Leer hasta el final antes de firmar y define Un consentimiento por documento.
- En Firma, elige el Firmante, el Nivel (Avanzada (AES)), el Formato y adónde se envía el código (Código de un solo uso por).
- En Rules, define qué efecto tiene cada advertencia sobre el veredicto.
- En Advanced, elige si quieres Enviar la copia firmada por correo electrónico y Añadir una página de evidencias, y cuántos días sigue siendo válido el enlace de firma. También puedes añadir reglas de estado personalizadas.
- Guarda el flujo.
La experiencia de firma
El paso de firma se ejecuta en la página de verificación alojada, el SDK web y los SDK nativos, tanto en escritorio como en teléfonos. No necesitas crear ninguna interfaz de firma.- Introducción. El firmante ve los documentos que va a firmar.
- Cada documento, en orden. En un documento con campos, se guía al firmante por sus campos en el orden de
position. El primer campo de firma o de iniciales abre una hoja donde adopta una firma. Los campos opcionales están marcados como Opcional. Los valores que Didit rellenó aparecen en la página con un candado y no son pasos. Al tocar un campo de la página, se salta a él. En un teléfono, se muestra un campo cada vez en un panel que permanece sobre el teclado. En una pantalla de al menos 1200 px de ancho, la página se sitúa junto a la lista de campos. Al terminar un documento con un campo obligatorio aún vacío, se muestra cuántos quedan y se salta al primero. Un documento sin campos se lee y se acepta, según lo configurado. - Revisión. El firmante ve de nuevo los documentos y, cuando alguno tiene campos, acepta firmarlos electrónicamente.
- Código. El firmante solicita su código. Es válido durante 5 minutos, se puede enviar uno nuevo pasados 60 segundos, y un firmante dispone de hasta 5 códigos y 3 intentos erróneos. Agotarlos registra
SIGNATURE_OTP_FAILED. - Firmado. Tras firmar, el firmante puede descargar sus documentos firmados. Si lo activaste, Didit también le envía una copia por correo electrónico.
- Rechazo. El firmante puede rechazar en lugar de firmar. Esto registra
SIGNATURE_DECLINED. Un rechazo se puede reabrir mientras el enlace de firma sea válido, de modo que el firmante aún puede firmar si cambia de opinión.
signature_link_validity_days (de 1 a 30, por defecto 7), contados desde que se creó la sesión. La sesión permanece abierta al menos ese tiempo.
Los SDK nativos muestran el paso de firma a partir de la versión que lo añade, que se indicará en la visión general de los SDK nativos cuando se publique. Los documentos con campos necesitan una versión que admita campos: una versión anterior no puede mostrarlos y el paso muestra un error. Los documentos sin campos funcionan en todas las versiones con el paso de firma. Hasta que tu app ejecute una versión compatible con lo que usa tu flujo, dirige a las personas a la página alojada o al SDK web.
Adopción de una firma
El firmante adopta su firma y sus iniciales una sola vez, en una misma hoja, la primera vez que un documento pide cualquiera de las dos:- Escrita: su nombre verificado en un estilo de caligrafía que elige, marcado como From your ID. No puede escribir un nombre distinto. Las iniciales escritas son las primeras letras de ese nombre.
- Dibujada: dibujada con un dedo o con un ratón, tanto la firma como las iniciales.
Resultados
El resultado de cada firmante es un elemento designatures[] en la decisión de la sesión y en el decision de los webhooks de la sesión. No hay un webhook de firma independiente: el evento status.updated de la sesión te indica cuándo obtener la decisión.
Recibes el PDF firmado de cada documento, un PDF de evidencias por cada firmante y el SHA-256 de cada archivo original y firmado, para poder demostrar más adelante que nada cambió. En los documentos con campos, también recibes el valor de cada campo, su origen y cuándo se rellenó, además de la firma adoptada y el momento en que el firmante aceptó firmar electrónicamente. Consulta el informe de firma electrónica para ver cada campo, las descargas y cómo validar de nuevo una firma.
En la consola, la pestaña Firma de la sesión muestra los documentos y después un bloque Campos con una vista previa de cada página, la firma y las iniciales adoptadas, y el valor, la hora y el origen de cada campo. El informe en PDF incluye una sección de firma y una página Electronic signature · fields cuando los documentos tienen campos.
Precios
La firma electrónica se cobra una vez por sesión firmada, sea cual sea el número de documentos, firmantes o pasos de firma que tenga. Una firma que se rechaza, falla o caduca no se cobra.Eliminación de los datos de firma
Cuando eliminas una sesión, sus datos de firma se eliminan con ella: los documentos enviados con la sesión y sus archivos originales de Word, las copias preparadas para cada firmante, los PDF firmados, los PDF de evidencias, las imágenes de la firma y las iniciales adoptadas, y el valor de cada campo. Sus enlaces de descarga dejan de funcionar. Lo mismo ocurre cuando una sesión se elimina al final de tu periodo de retención de datos. La eliminación no se puede deshacer, así que descarga antes todo lo que necesites conservar.- Los documentos firmados de una verificación de empresas pertenecen a la sesión de la empresa. Al eliminar esa sesión, se eliminan.
- Quitar un documento de un flujo lo elimina, con sus campos y su archivo original de Word. Un firmante que ya empezó a firmar conserva la copia que se le mostró, como parte de su sesión, hasta que elimines esa sesión. Quita documentos solo de flujos sin sesiones pendientes de firma.
- Una copia que Didit ya envió por correo electrónico al firmante está en su buzón y no se ve afectada.
Relacionado
- Informe de firma electrónica:
signatures[], el PDF firmado, el PDF de evidencias y las descargas. - Advertencias de firma electrónica: cada advertencia y la regla que la controla.
- Crear sesión: envía documentos, campos y valores de campo por sesión.
- Configuraciones de funciones del flujo: cada ajuste del paso.