Privacidad
schat es un proyecto de clase (Programación de servicios y procesos, 2.º de DAM) abierto a quien quiera usarlo. Esta página cuenta lo que hay de verdad en el servidor, sin letra pequeña.
Lo que el servidor no puede leer
El texto de tus mensajes, tus fotos, tus archivos y tus notas de voz se cifran en tu navegador (AES-256-GCM) antes de salir. La clave de cada chat solo la tienen sus miembros, envuelta con sus claves ECDH P-256. Tu clave privada se guarda en el servidor cifrada con una clave que sale de tu contraseña, y la contraseña no viaja nunca: el navegador manda una prueba derivada de ella con PBKDF2 (600 000 vueltas), y el servidor guarda el scrypt de esa prueba.
Por eso, si olvidas la contraseña no hay forma de recuperar la cuenta: nadie, tampoco la administración, puede abrir tu llave.
Lo que el servidor sí ve y guarda
- Tu usuario, tu nombre visible, tu info, tu color de hilo y tu clave pública.
- Quién está en cada chat, cuándo se envía cada mensaje, de qué tipo es y cuánto ocupa, y hasta dónde ha recibido y leído cada miembro.
- Los nombres de los grupos y los avisos de los grupos («Ana añadió a Luis») van sin cifrar, porque los escribe el servidor.
- Las sesiones abiertas: un resumen del token (no el token), las fechas y el navegador desde el que entraste (120 caracteres como mucho). Caducan a los 30 días sin uso.
- Cuándo estuviste en línea por última vez. Lo ven las personas con las que compartes algún chat.
Tu dirección IP no se guarda en la base de datos: se usa en memoria para limitar intentos de entrada. El servidor web (Apache) sí anota la IP y la dirección de cada petición en sus registros, que se guardan 14 días.
Copias, borrado y límites
- Cada día se copia la base de datos (no los archivos) en el mismo servidor y se guardan las copias de los últimos 14 días.
- Desde Perfil → Borrar mi cuenta se borran tu cuenta, tus sesiones, tus mensajes y tus archivos, también de los grupos. Lo borrado puede seguir en las copias hasta 14 días.
- Un grupo sin miembros se borra con todo lo que tenga. Si borras un mensaje tuyo, se borra para todos.
- Cada archivo puede pesar 24 MB y cada cuenta tiene 300 MB para archivos.
Cookies y almacenamiento
Solo hay una cookie, la de la sesión (HttpOnly, SameSite=Strict, Secure). Tu navegador guarda tu clave privada en IndexedDB como clave no extraíble: se puede usar, pero ningún script la puede copiar. Al cerrar la sesión se borra. No hay analíticas, publicidad ni recursos de terceros: hasta las fuentes se sirven desde aquí.
Lo que este proyecto no promete
El cifrado está escrito con la Web Crypto API del navegador y probado, pero no lo ha auditado nadie de fuera. La página la sirve el mismo servidor que guarda los datos: quien controle el servidor podría cambiar el código que recibes. Por eso existe la huella de seguridad de cada chat directo: compárala en persona para comprobar que hablas con quien crees. No uses schat para nada en lo que te juegues algo serio.