# Firma de documentos

Reglamentos de proyecto y documentos que se firman con nombre y rúbrica, con versiones inmutables y PDF verificable.

Fuente: https://ardumaker.com/docs/firma-de-documentos/

- Categoría: Proyectos y empresas
- Estado: Disponible
- Requisitos: Una cuenta de ArduMaker; Para publicar reglamentos de un proyecto: ser su manager
- Herramientas MCP: Sin herramientas MCP: se usa desde el panel.

## ¿Qué permite hacer?

- Que el manager de un proyecto publique **reglamentos** (PDF o texto) que hay que firmar para entrar, por rol o para todos.
- Firmar escribiendo el nombre completo y, en los documentos, con una rúbrica guardada.
- Ver lo pendiente y bajar el PDF de lo ya firmado.
- Validar cualquier PDF firmado, sin cuenta, para saber si está intacto y quién firmó qué.

| Alcance | Quién lo pide |
| --- | --- |
| `plataforma` | ArduMaker a sus usuarios (términos, privacidad) |
| `empresa` | Una empresa a sus miembros |
| `proyecto` | Un proyecto a sus miembros |

## ¿Cuándo conviene usarlo?

- Para que nadie entre a un proyecto de cliente sin aceptar sus normas.
- Para tener un papel firmado que un tercero pueda verificar.

## ¿Cómo funciona en ArduMaker?

### Reglamentos de proyecto

- Una versión es inmutable y lleva su `sha256`. Cambiar el reglamento publica una versión nueva.
- Una versión nueva pide volver a firmar salvo que el manager indique que fue un cambio menor.
- Por defecto alcanza solo a quien entra después de crearlo; puede extenderse a los miembros actuales. Nunca alcanza al manager.
- Quien no firmó no entra al proyecto, pero siempre puede leer el reglamento, firmarlo o salir del proyecto.
- Si el reglamento es un PDF, ArduMaker intenta prepararlo para firmar con la herramienta de firma; si no puede, se publica igual y la firma queda registrada sin PDF.

### Documentos firmados

- Firmar deja un PDF con la rúbrica, la fecha, el usuario y un historial interno que permite verificarlo después.
- Modo `individual`: cada persona firma su copia. Modo `conjunto`: un solo archivo con varios firmantes.
- Cada documento decide si **bloquea** o solo **avisa**; por defecto avisa.
- Los documentos de plataforma y empresa los publica ArduMaker desde su administración.

## ¿Qué cambia realmente?

- Firmar guarda la firma (con IP y navegador) atada a la versión exacta firmada.
- Una firma no se borra nunca: ni al desactivar el reglamento, ni al cambiar de rol, ni al salir del proyecto.
- Borrar un reglamento lo desactiva; sus firmas siguen guardadas.
- Validar un PDF no lo guarda.

## Esquema

**Entrar a un proyecto con reglamento**

```text
Miembro nuevo (con un rol alcanzado)
  ↓
Reglamento pendiente (leer, firmar o salir)
  ↓
Firma (nombre escrito + versión exacta)
  ↓
Proyecto abierto (según su rol)
```

## Resultado esperado

La persona entra al proyecto y la firma aparece en el libro de firmas del reglamento, que solo ve el manager. Si hubo PDF, queda disponible para bajar desde lo firmado.

## Errores y resolución

- Un error con tipo `politica_pendiente` indica que hay un reglamento por firmar antes de seguir.
- En los documentos, firmar dos veces la misma versión se rechaza; en un reglamento de proyecto, repetir la firma devuelve la que ya existía.
- La validación pública acepta archivos de hasta 20 MB y 10 pedidos por minuto por IP.
- Validar un PDF alterado no es un error: la respuesta dice que no está intacto y lista los problemas.

> **PRECAUCION:** Un reglamento con alcance por roles necesita al menos un rol elegido; activarlo para los miembros actuales frena en el acto a quienes no firmaron.

## Relación con MCP

No hay acceso MCP. Ningún agente puede crear, editar ni borrar un reglamento, ni firmar uno: firmar es un acto personal.

Referencia completa de cada herramienta: [/mcp/docs](https://ardumaker.com/mcp/docs).

## Funciones relacionadas

- [Roles y permisos](https://ardumaker.com/docs/roles-y-permisos/)
- [Plantillas de proyecto](https://ardumaker.com/docs/plantillas/)
- [Empresas](https://ardumaker.com/docs/empresas/)
- [Proyectos y tablero kanban](https://ardumaker.com/docs/proyectos-kanban/)
