Sign
Firmas electrónicas
Para qué sirve
Manage templates and signature requests through draft, sent, signed, declined and expired, and record the document hash that was signed. The platform cannot yet lock a record, so a signed request is immutable by convention only.
Qué hace y qué no hace el paquete
Document templates and signature requests with a draft, sent, signed, declined, expired flow. A request names the signer (personal data) and keeps the signature evidence as references. A signed request is immutable by convention only: the platform cannot yet lock a record, so nobody should edit a request once it is signed, and the document_hash records what was signed. Sending and recording a signature need a human approval; agents may only propose them.
Modelos
sign_template
A document that can be sent out for signature
Grupo de lectura: sign.user. Grupo de escritura: sign.manager.
| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
name | text | none | no | sign.user | en claro | Template name, for example Employment contract |
description | longtext | none | no | sign.user | en claro | What the document is for and who signs it |
body | longtext | none | no | sign.user | en claro | The document text, or a reference to where the file is kept |
signer_role | text | none | no | sign.user | en claro | Role of the person who signs, for example Customer |
active | bool | none | no | sign.user | en claro | Whether new requests can use the template |
sign_request
A request for one person to sign one document
Grupo de lectura: sign.user. Grupo de escritura: sign.user.
| Campo | Tipo | Clase de datos | Datos personales | Grupo | Los agentes ven | Descripción |
|---|---|---|---|---|---|---|
template_id | ref → sign_template | none | no | sign.user | en claro | The document to sign |
title | text | none | no | sign.user | en claro | Subject shown to the signer |
message | longtext | none | no | sign.user | en claro | Message shown to the signer in the request |
signer_name | text | internal | sí | sign.user | enmascarado | Name of the person who must sign |
signer_email | text | internal | sí | sign.user | enmascarado | Email address the request is sent to |
sent_on | date | none | no | sign.user | en claro | Day the request was sent (YYYY-MM-DD) |
expires_on | date | none | no | sign.user | en claro | Last day the request can be signed (YYYY-MM-DD) |
signed_on | date | none | no | sign.user | en claro | Day the document was signed (YYYY-MM-DD) |
signer_ip | text | internal | sí | sign.manager | enmascarado | IP address the signature came from (evidence) |
signer_user_agent | text | internal | sí | sign.manager | enmascarado | Browser the signature was made with (evidence) |
signature_reference | text | none | no | sign.manager | en claro | Where the signature image or certificate is stored |
document_hash | text | none | no | sign.manager | en claro | SHA-256 hash (hex) of the signed document, to prove it was not changed afterwards |
state | select (draft, sent, signed, declined, expired) | none | no | sign.user | en claro | Request status: draft, sent, signed, declined, expired |
Flujos de trabajo
sign_request
| Acción | Mueve | Quién puede ejecutarla | Aprobación |
|---|---|---|---|
sign_request.send | state: draft → sent | sign.user | sí |
sign_request.sign | state: sent → signed | sign.manager | sí |
sign_request.decline | state: sent → declined | sign.user | no |
sign_request.expire | state: sent → expired | sign.user | no |
Grupos de permisos
Grupos que usa esta aplicación:
sign.managersign.user
Pasos con aprobación
Pasos que un agente solo puede proponer:
sign_request.sendsign_request.sign
Qué pueden y qué no pueden hacer los agentes
Un agente puede leer, buscar, crear y actualizar registros de esta aplicación, y ejecutar las acciones que no requieren aprobación, dentro de los grupos de permisos de su token.
Solo puede proponer estos pasos, y una persona debe aprobarlos: sign_request.send, sign_request.sign, sign_template.delete, sign_request.delete.
Los datos personales se enmascaran como tokens marcadores: sign_request.signer_name, sign_request.signer_email, sign_request.signer_ip, sign_request.signer_user_agent.
Dependencias
Ninguna.
Instalación
Instálala desde la aplicación Customize (Marketplace) o desde la línea de comandos:
obop modules install-from signRequiere una base de datos y derechos de administrador.
Crea la tuya
La guía de módulos explica cómo se escriben aplicaciones como esta