Documento de trabajo
Cómo funciona el sistema
Tres cosas: dónde viven los archivos, quién puede ver cada uno y cómo se da de alta un cliente.
Estado a día de hoy
Montado sobre un Microsoft 365 de pruebas
Todo lo que se describe abajo funciona ya, pero contra un entorno de desarrollo temporal. Pasar al Microsoft 365 de la asesoría no cambia el código: cambian cinco valores de configuración.
| Pieza | Hoy | En producción |
|---|---|---|
| Almacén de archivos | SharePoint de un tenant de desarrollo, temporal | SharePoint de la asesoría |
| Identidad ante Microsoft | Aplicación con certificado, 10 años | Igual, certificado propio |
| Permiso concedido | Sites.Selected sobre un único site | Igual |
| Usuarios y auditoría | PostgreSQL propio — no depende de Microsoft | Igual, con copias de seguridad |
| Documentos | Solo de prueba | Los reales, migrados si los hay |
Lo que hace falta de la asesoría
Microsoft 365 con SharePoint
Business Basic en adelante. Solo licencia para su personal, no para los clientes.
Media hora de su administrador
Crear el site, registrar la aplicación, subir el certificado y conceder el permiso.
Tres datos de vuelta
Id. de inquilino, id. de aplicación y dirección del site. Ninguno es secreto.
La idea de fondo
Los archivos no viven en la web
Viven en el SharePoint del Microsoft 365 ya contratado. La web es solo una puerta con cerradura: identifica a quien llama y le enseña lo que le corresponde —su carpeta al cliente, todas a la asesoría—. Microsoft pone el versionado, la papelera de 93 días y las copias de seguridad, sin que nadie tenga que instalar nada.
Dónde vive cada cosa
Tres piezas, una sola guarda documentos
Si desapareciera el servidor de la web no se perdería ni un archivo. Se pierde la puerta, que se vuelve a levantar.
Next.js
La web
- Páginas públicas
- Pantalla de acceso
- Explorador de documentos
No guarda ningún documento
PostgreSQL
La base de datos
- Quién es cada usuario
- Qué carpeta le corresponde
- Registro de cada acceso
No guarda ningún documento
SharePoint · Microsoft 365
El almacén
- Todos los archivos
- Versiones anteriores
- Papelera de 93 días
Aquí viven los documentos
Mapa de la web
Tres zonas, tres llaves distintas
Estructura en SharePoint
Una carpeta por cliente
El nombre lleva el NIF delante, para que dos empresas homónimas no se confundan. Regla única: lo que empieza por guion bajo no existe para el cliente.
Documentos/
└─ Clientes/
└─ B12345678 - Talleres Pérez SL/
├─ Entrada cliente/ el cliente sube aquí
├─ Impuestos/ solo lectura
├─ Nóminas/
├─ Contabilidad/
└─ _interno/ solo asesoríaLas crea el alta
Al dar de alta un cliente, el portal crea estas cinco carpetas en SharePoint.
El cliente no elige carpeta
Su ámbito sale de la sesión, no de la dirección que escribe.
Doble comprobación
Además se verifica que lo pedido cuelga de esa carpeta.
Todo queda registrado
Acceso, descarga, subida y denegación, con usuario y hora.
Quién hace qué
La misma puerta, dos llaves
Cliente · /portal
Entra con su correo, su contraseña y un código de un solo uso. Sin cuenta de Microsoft: no la tiene ni la necesita.
- Ve solo su expediente
- Consulta y descarga cuando quiera
- Sube documentación sin usar el correo
Asesoría · /gestion
Entra con su cuenta de Microsoft, la misma del despacho. No hay contraseña que recordar ni que repartir, y el segundo factor lo impone su propio Microsoft 365.
- Entra a los archivos de cualquier cliente desde su ficha
- Sube, descarga, renombra, mueve y elimina
- Ve las carpetas _interno, invisibles para el cliente
- Estar en el Microsoft 365 no basta: el acceso se concede uno a uno
Novedad · panel de gestión
Altas y accesos sin tocar la terminal
Ya no hace falta un comando para dar de alta a nadie. Todo se hace desde /gestion.
Alta de cliente
Ficha + carpetas en SharePoint + primer usuario, en un solo formulario.
Importar CSV
La cartera entera de golpe. Plantilla lista para Excel en español.
Contraseña automática
Se genera al alta, se enseña una vez y se copia al portapapeles.
Restablecer acceso
Contraseña nueva al momento; se limpian los intentos fallidos previos.
Bloquear y reactivar
Por usuario o por cliente entero, anotando el motivo.
Ficha editable
Nombre, contacto y notas. El NIF y la carpeta no se tocan nunca.
Novedad · archivos desde el panel
El expediente de cualquier cliente, sin salir de la web
Cada ficha lleva a un explorador con la carpeta completa de ese cliente, _interno incluido. Es la carpeta real de SharePoint: lo que se hace aquí queda hecho allí, con su versionado y su papelera.
Ver y navegar
Toda la carpeta del cliente, con las internas marcadas como tales.
Descargar
Igual que el cliente, pero sobre cualquier expediente.
Subir
Desde cualquier ordenador con navegador, dentro o fuera de la oficina.
Editar
Abre el documento en SharePoint; los de Office se editan en el navegador.
Renombrar y crear carpetas
Dentro del expediente. Mover entre clientes no se permite.
Eliminar
Solo la asesoría. Va a la papelera de SharePoint: 93 días para recuperarlo.
Seguridad
Las seis reglas que lo sostienen
Una cuenta da acceso a la documentación fiscal y laboral de una empresa. Estas son las decisiones que sostienen el resto.
Dos llaves, no una
El cliente entra con contraseña y un código de un solo uso. El personal, solo con su cuenta de Microsoft.
Contraseñas irrecuperables
Se guardan cifradas con argon2id. Ni el despacho puede leer la de un cliente.
Nadie cruza de expediente
La carpeta sale de la base de datos y el cliente de la sesión. Nunca de lo que envía el navegador.
Bloqueo por intentos
Tras varios fallos seguidos, la cuenta se cierra sola un rato.
Permisos al instante
Se consultan en cada comprobación: retirarle el acceso a alguien surte efecto de inmediato, no cuando caduque su sesión.
Los documentos no están aquí
Viven en el SharePoint del despacho. Si este servidor desapareciera, la documentación seguiría intacta.
Trazabilidad
Quién tocó qué, y cuándo
Todo movimiento queda escrito. Sirve para responder «¿quién borró esto?» y para acreditar cuándo se le entregó un documento a un cliente, que en un despacho no es curiosidad: es lo que se enseña ante una reclamación.
Dos registros, no uno
Historial, para lo que se hace con los documentos. Accesos, para quién entra y quién no puede. Mezclados, el ruido de uno tapaba al otro.
Cada documento tiene identidad
No se identifica por su ruta, que cambia al renombrar o mover, sino por el identificador que SharePoint le da al crearlo y que no cambia nunca.
No se puede reescribir
El registro no es editable desde la web. La única limpieza posible es por antigüedad, y queda anotada: un historial vacío sigue diciendo quién lo vació.
Lo que no cubre
Lo que no pasa por el portal no se registra: si alguien deja un archivo directamente en SharePoint desde el Explorador de Windows, aquí no aparece. Es la contrapartida de que los documentos vivan en SharePoint, que es justamente lo que permite al despacho no cambiar su forma de trabajar. El propio Microsoft 365 sí lo recoge, en su registro.
Lo que falta
Que lo nuevo aparezca solo
Con trescientos clientes, nadie va a abrir trescientas carpetas cada mañana. Casi todo lo que queda va en la misma dirección: que el despacho se entere sin buscar.
Aviso al cliente
Cuando el despacho le deja documentación. Es lo que hace que entre: hoy no se entera de que tiene la declaración lista.
Aviso al despacho
Un resumen cada pocos minutos con quién ha subido qué, no un correo por archivo: quien recibe treinta acaba ignorándolos todos.
Bandeja de entradas
Una sola pantalla con lo último que ha subido cualquier cliente. La que se abre por la mañana.
Recuperar la contraseña
Hoy la restablece el despacho y se la dicta. Con un enlace por correo, el cliente elige la suya y nadie más llega a conocerla.
Limpiar los metadatos
Un documento preparado a partir del de otro cliente puede llevar dentro su nombre o comentarios internos. Es lo único que puede cruzar de un expediente a otro.
Ver antes de descargar
Hoy hay que bajar el archivo al ordenador para saber qué es.