04 — CASO DE ESTUDIO · 2026
InmínerFirmas
Firma criptográfica por lotes, sin que un documento salga del ordenador.
Herramienta interna desarrollada durante mi etapa profesional en INMÍNER Ingeniería.
01 CONTEXTO
En INMÍNER se firman a diario memorias, autorizaciones e informes técnicos. El circuito era abrir cada PDF, buscar la zona de firma, aplicar el certificado, escribir la contraseña y guardar — documento a documento, en tres equipos distintos y con las mismas manos administrativas.
02 PROBLEMA
La repetición era lo visible; lo difícil era lo otro. Los documentos y el certificado no podían salir del ordenador, la contraseña no podía acabar en un archivo de configuración, y el resultado tenía que ser una firma criptográfica real —verificable en Adobe Acrobat— y no una imagen pegada encima del PDF.
03 EL SISTEMA
Una aplicación de escritorio que analiza, firma y registra lotes enteros de PDF sin conexión a Internet.
LAS PIEZAS
- 01DETECCIÓN
- Cada página se analiza por palabras clave, recuadros, líneas y ocupación del texto. Si el PDF llega escaneado, entra el OCR.
- 02CONFIANZA
- El análisis dice cuánto se fía: alta, media o baja. Cuando no está seguro exige revisión, con un visor para dibujar el área a mano.
- 03FIRMA
- Cada zona detectada recibe su propio campo PAdES por actualización incremental; Acrobat las reconoce en el panel de firmas.
- 04IDENTIDADES
- Varias firmas configuradas, cada una con su certificado y su apariencia. La contraseña se escribe una vez y la custodia Windows.
- 05LOTE
- El lote entero se procesa sin volver a pedir nada. Si un documento falla, los demás continúan, y el original nunca se sobrescribe.
- 06HISTORIAL
- Un registro local con fecha, equipo, titular, resultado y hashes SHA-256. Sin documentos, sin certificados y sin contraseñas.
EL RECORRIDO
01
PDFS
Se arrastran los documentos, todos de una vez.
02
DETECT
Cada página se analiza en busca de la zona de firma.
03
REVIEW
Lo dudoso se confirma a mano; lo seguro no se toca.
04
SIGN
El lote se firma con una sola contraseña introducida.
05
OUTPUT
Cada PDF firmado aparece junto a su original.
04 STACK
- Python 3.12
- CustomTkinter
- PyMuPDF
- pyHanko
- Tesseract OCR
- SQLite
- PyInstaller
- Inno Setup
05 DECISIONES
Good software doesn't need to look complicated. It needs to remove complexity.
Detrás hay heurísticas de detección, OCR opcional, coordenadas por página y actualizaciones incrementales del PDF. Delante hay una lista de archivos, un desplegable y un botón.
A signature is a cryptographic fact, not a stamp.
Lo fácil era pegar una imagen de la firma sobre el PDF. Lo que hace es firma PAdES Baseline B con pyHanko: Acrobat valida la integridad y delata cualquier cambio posterior al documento.
The password is typed once. Windows keeps it.
Cada perfil guarda su contraseña en el Administrador de credenciales de Windows, nunca en JSON ni en la base de datos. El certificado se referencia por ruta: no se copia al repositorio ni al instalador.
Internal software is still a product.
Tiene versionado, pruebas que fabrican su propio certificado autofirmado para no tocar el real, un script que aborta la compilación si encuentra una clave dentro, ejecutable e instalador para los equipos autorizados.
06 RESULTADO
Resultados cualitativos. No se publican métricas que no pueda sostener.
- Firma PAdES verificable en Acrobat, no una imagen pegada.
- Un lote entero firmado con una sola contraseña introducida.
- Ningún documento, certificado ni contraseña sale del equipo.
- Instalador propio desplegado en los equipos autorizados.
- Historial local con hashes para reconstruir qué se firmó y cuándo.
SERVICIOS QUE INTERVIENEN
¿ALGO PARECIDO?
Si tu problema se parece a este, hablemos.
Cada sistema es distinto, pero el punto de partida siempre es el mismo: entender el proceso.