Sign

Firmas electrónicas

MarketplaceContenido y documentosVersión 0.1.0manifest

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.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
nametextnonenosign.useren claroTemplate name, for example Employment contract
descriptionlongtextnonenosign.useren claroWhat the document is for and who signs it
bodylongtextnonenosign.useren claroThe document text, or a reference to where the file is kept
signer_roletextnonenosign.useren claroRole of the person who signs, for example Customer
activeboolnonenosign.useren claroWhether 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.

CampoTipoClase de datosDatos personalesGrupoLos agentes venDescripción
template_idref → sign_templatenonenosign.useren claroThe document to sign
titletextnonenosign.useren claroSubject shown to the signer
messagelongtextnonenosign.useren claroMessage shown to the signer in the request
signer_nametextinternalsísign.userenmascaradoName of the person who must sign
signer_emailtextinternalsísign.userenmascaradoEmail address the request is sent to
sent_ondatenonenosign.useren claroDay the request was sent (YYYY-MM-DD)
expires_ondatenonenosign.useren claroLast day the request can be signed (YYYY-MM-DD)
signed_ondatenonenosign.useren claroDay the document was signed (YYYY-MM-DD)
signer_iptextinternalsísign.managerenmascaradoIP address the signature came from (evidence)
signer_user_agenttextinternalsísign.managerenmascaradoBrowser the signature was made with (evidence)
signature_referencetextnonenosign.manageren claroWhere the signature image or certificate is stored
document_hashtextnonenosign.manageren claroSHA-256 hash (hex) of the signed document, to prove it was not changed afterwards
stateselect (draft, sent, signed, declined, expired)nonenosign.useren claroRequest status: draft, sent, signed, declined, expired

Flujos de trabajo ​

sign_request ​

AcciónMueveQuién puede ejecutarlaAprobación
sign_request.sendstate: draft → sentsign.usersí
sign_request.signstate: sent → signedsign.managersí
sign_request.declinestate: sent → declinedsign.userno
sign_request.expirestate: sent → expiredsign.userno

Grupos de permisos ​

Grupos que usa esta aplicación:

  • sign.manager
  • sign.user

Pasos con aprobación ​

Pasos que un agente solo puede proponer:

  • sign_request.send
  • sign_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:

bash
obop modules install-from sign

Requiere 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