Retención y operación¶
Esta app está diseñada para correr siempre, sin que nadie la esté mirando. Esta sección documenta los mecanismos que lo hacen posible.
Bandeja del sistema¶
La app vive en la bandeja del sistema de Windows. Minimizar la ventana o cerrarla con la X la oculta, no la termina — el proceso sigue corriendo en segundo plano, y la vigilancia de carpetas nunca se corta por accidente. La única forma de cerrarla de verdad es la opción "Salir" del menú de la bandeja, que hace un cierre real de la aplicación con su limpieza correspondiente.
Vigilancia de carpetas¶
Un proceso en segundo plano recibe notificaciones nativas del sistema operativo cada vez que aparece un archivo nuevo — una vigilancia activa por cada proceso de firma configurado. Filtra únicamente archivos .pdf, para no reprocesar por error los archivos intermedios que el propio proceso de firma genera durante sus 3 fases. El detalle de cómo esto encaja en el flujo completo está en Arquitectura y flujo.
Validación de certificados¶
Cada 60 segundos, un proceso en segundo plano recorre todos los procesos de firma y pausa (activo = false) automáticamente cualquiera cuyo certificado ya venció — antes de que llegue un documento que no se podría firmar con ese certificado. Ver Configuración de procesos.
Retención automática de documentos¶
Cada hora, otro proceso en segundo plano revisa cada proceso de firma que tenga la retención habilitada y borra de su carpeta de salida los documentos firmados más viejos que la política configurada:
- Se configura por proceso: cantidad + unidad (días, semanas, meses o años).
- El cálculo se hace con aritmética de calendario real (días, meses y años calendario), no con una duración fija en milisegundos — específicamente porque "meses" y "años" no tienen una duración exacta y constante (un mes puede tener 28, 30 o 31 días); calcularlo así evita ese error.
- Si la retención no está habilitada en un proceso, esta app nunca borra nada de su carpeta de salida — queda ahí indefinidamente hasta que alguien lo haga a mano.
Registro de actividad (logs)¶
Los logs se separan en dos archivos distintos, según de qué parte del sistema vienen:
| Archivo | Contenido |
|---|---|
~/.ssigner/logs/app_<fecha>.log | Logs de esta app y de su capa de acceso a datos |
~/.ssigner/logs/motor_<fecha>.log | Logs de la librería de firma digital |
Rotación diaria, con 90 días de retención. Esta separación es deliberada: cuando algo falla, es mucho más rápido revisar solo el log del componente sospechoso en vez de un único archivo mezclado.
Diagnóstico rápido: ¿por qué un documento no se firmó?¶
- Confirmar que esta app está corriendo (ícono visible en la bandeja del sistema).
- Confirmar que el proceso correspondiente esté
activo(pudo haberse pausado solo por un certificado vencido — ver más arriba). - Revisar
motor_<fecha>.logpara ver si la librería de firma reportó un error específico (certificado no encontrado, fallo de red al sello de tiempo, etc.). - Revisar
app_<fecha>.logpara confirmar que la vigilancia de carpetas efectivamente detectó el archivo (si no aparece ahí, puede que el archivo haya llegado a la carpeta equivocada, o que el proceso no esté activo).