Seguridad y límites
Quién autoriza qué, y dónde queda cada dato.
Inxpector está pensado para registrar trabajo en campo, no para vigilar personas. Este es el modelo completo, dicho sin adornos: lo que sí controla y lo que todavía no.
La sesión
- El token se guarda en el almacenamiento seguro del sistema (el llavero de Android), no en un archivo plano ni en la base local.
- Los datos locales se separan por servidor, organización y usuario: dos cuentas en el mismo teléfono no comparten casos ni borradores.
- El servidor concede un acceso local de hasta 72 horas. Al vencer, la información se conserva pero deja de ser modificable hasta volver a iniciar sesión.
- Cerrar sesión no borra pendientes. Al entrar de nuevo con la misma cuenta y el mismo servidor, la app los recupera.
- La app no se conecta a la base de datos: toda lectura y escritura pasa por el API sobre HTTPS.
Quién decide los permisos
El servidor, en cada llamada. Ocultar un botón en la app es comodidad, no control.
- Alta de casos, subida de evidencias, seguimiento y actas requieren un permiso vigente asignado a la cuenta.
- Si la organización retira el perfil, el servidor rechaza los envíos nuevos; los borradores locales no se borran por decreto.
- Un formulario descargado a medias se muestra como no válido en lugar de abrir una captura rota.
- El tipo de caso, el formulario y su versión quedan fijados al crear la captura: publicar otra versión no reescribe lo ya registrado.
El desbloqueo del teléfono
Cada cuenta puede exigir la huella, el rostro o el PIN del dispositivo antes de abrirse. Sin aprobarlo, la app no abre la base de datos: no se ven casos, borradores ni envíos. Se vuelve a pedir al regresar de fondo.
Lo que hace
- Abrir, en este teléfono, la sesión que ya estaba guardada.
- Quedarse atada a la cuenta: es una preferencia por sesión, no un interruptor general de la app.
- Aceptar también el PIN del dispositivo, para que borrar una huella no deje fuera a quien tiene la sesión vigente.
Lo que no hace
- No cambia tus permisos: eso lo sigue decidiendo el servidor.
- No cifra el almacenamiento: los archivos siguen donde están y este bloqueo no sustituye el cifrado del disco.
- No autentica contra el API: si pierdes el teléfono, la cuenta se revoca desde el sistema de la organización.
Las evidencias
- Fotos y notas de voz se guardan como archivos privados de la app; no se copian a la galería pública.
- La ubicación se pide al capturar la evidencia, de forma explícita, y también pueden escribirse coordenadas a mano. No hay rastreo en segundo plano.
- Un original compartido por dos capturas no se borra cuando se descarta una de ellas.
- Los PDF de consulta y las actas se sirven de forma privada, con sesión; no hay enlaces abiertos ni códigos QR públicos que revelen datos personales.
Sincronizar sin destruir
- El envío es solo manual y congela el lote al empezarlo: nada cambia por detrás a media subida.
- Recuperar red, volver a la app o autoguardar un borrador no dispara envíos.
- Cada captura y cada evidencia reciben su acuse; un rechazo de validación permite corregir el caso desde su detalle.
- Si el servidor tiene una versión más nueva, la app marca el conflicto y espera: no sobrescribe en silencio el trabajo de otra persona.
Lo que sigue pendiente
- Cifrado local adicional de los archivos, política de retención y limpieza de huérfanos: sin definir.
- Revocación administrativa de dispositivos (más allá de retirar la asignación de la cuenta): pendiente.
- Simulacro de restauración de respaldos del servidor: no documentado todavía.
- Recorrido visual completo en un dispositivo físico con esta build: falta.
El servidor corre detrás de HTTPS con certificado válido, la base no está expuesta públicamente y los secretos viven en variables de entorno del servidor. Ninguna de esas cosas depende de la app.