Libro de Clase

Política de Seguridad

Cómo protegemos el trabajo y los datos de tu escuela.

Última actualización: 14 de agosto de 2026

Esta página describe cómo protegemos el trabajo de los alumnos, el contenido de las editoriales y el dinero que se mueve en cada venta.

Todo lo que aparece aquí está implementado. Y lo que aún no lo está también aparece: la sección «Lo que todavía no tenemos» dice qué nos falta.

Nuestro compromiso

En esta plataforma conviven tres cosas delicadas: el trabajo escolar de menores de edad, el contenido protegido de las editoriales y dinero real cobrado en efectivo. Las medidas que siguen son las que están implementadas hoy, no una lista de intenciones.

Contraseñas y acceso

  • Las contraseñas se guardan convertidas con un algoritmo criptográfico irreversible, con un valor aleatorio distinto para cada usuario. Nunca se almacenan legibles y nadie —tampoco nosotros— puede recuperarlas.
  • Al elegir contraseña se verifica que tenga longitud suficiente, que no sea sólo números, que no esté en las listas de contraseñas comunes y que no se parezca a tu correo o a tu nombre.
  • Cuando un vendedor da de alta a un alumno en el salón, la contraseña provisional se muestra una sola vez y le pedimos que la cambie en cuanto entre. Mientras no la cambie, la cuenta queda marcada y el administrador lo ve en su ficha.
  • El restablecimiento de contraseña responde siempre el mismo mensaje, exista o no la cuenta, para que nadie pueda averiguar qué correos están registrados.

Cómo funcionan las sesiones

La sesión se sostiene con dos credenciales de vida distinta, y esa separación es intencional:

Credencial de acceso — una hora
Es la que acompaña a cada petición. Dura poco a propósito: si alguien la interceptara, deja de servir en menos de una hora.
Credencial de renovación — HttpOnly
Sirve para obtener una credencial de acceso nueva sin volver a pedir la contraseña. El navegador la guarda de forma que ningún código de la página puede leerla, sólo se envía a las direcciones de autenticación, y se sustituye cada vez que se usa: la anterior queda invalidada de inmediato.

Las sesiones se revocan del lado del servidor cuando:

  • El usuario cierra sesión.
  • Un administrador da de baja la cuenta.
  • Un administrador cambia el rol de la cuenta —alumno, profesor, vendedor o administrador—.

En dispositivos compartidos —tabletas de salón— la aplicación borra lo que era del usuario anterior antes de abrir la sesión de otro distinto: su trabajo guardado, su lista de libros y las respuestas que el navegador hubiera guardado para él. Se quedan los archivos de la propia aplicación —pantallas, estilos y tipografías—, que son los mismos para todo el mundo y no dicen nada de nadie.

Protección contra intentos de acceso

  • Bloqueo por intentos fallidos: tras cinco contraseñas incorrectas, esa combinación de cuenta y equipo queda bloqueada temporalmente, aunque después se acierte la contraseña. Un acierto normal reinicia el contador.
  • Límite de peticiones en las operaciones sensibles —entrar, registrarse, restablecer contraseña, activar un código, unirse a un grupo—, calibrado para el uso real de una escuela: un salón entero sale a internet por la misma dirección, y esa clase no puede quedarse fuera por parecer un ataque.
  • Los contadores no se pueden burlar falsificando cabeceras de dirección de origen: el servidor sólo confía en el dato que pone su propio intermediario.

Cifrado de la comunicación

  • Todo el tráfico va por HTTPS. Cualquier intento de entrar por conexión no cifrada se redirige a la cifrada.
  • El sitio declara HSTS por un año, incluidos los subdominios: una vez que tu navegador nos conoce, se niega a conectarse sin cifrado.
  • Las actualizaciones en vivo —avisos y panel del grupo— viajan por WebSocket sobre la misma conexión cifrada.
  • La conexión con la base de datos exige cifrado, incluso dentro de la infraestructura.

Los archivos de los libros

El contenido de las editoriales es el activo que más protegemos, junto con los datos de los alumnos:

  • Los archivos nunca son públicos. Sólo generamos el enlace de lectura si tu cuenta tiene licencia del libro, y ese enlace caduca a los dos minutos. Mientras no caduque, quien lo reciba puede abrir el archivo: no lo compartas.
  • La aplicación no ofrece descargar el libro ni permite leerlo sin conexión: el archivo se transmite al navegador sólo mientras lo lees. Aun así, como con cualquier archivo que abre un navegador, quien tenga el enlace vigente puede guardarse una copia; no aplicamos ninguna medida técnica que lo impida.
  • Al subir material, se validan tipo, extensión y tamaño contra una lista cerrada de formatos permitidos, y la ruta del archivo la construye el servidor, nunca quien lo sube.

Aislamiento entre cuentas

Que un usuario no vea lo que no le toca no se resuelve escondiendo botones: se resuelve en la consulta a la base de datos, que sólo trae lo que corresponde a quien pregunta.

  • El autor de una anotación lo determina el servidor a partir de la sesión; no se acepta del cliente.
  • Un profesor sólo alcanza el trabajo de alumnos con los que comparte un grupo activo.
  • Un vendedor sólo ve las licencias que él mismo generó.
  • El cuaderno personal se filtra por el usuario en sesión. Pedir la nota de otra persona devuelve “no existe”, no “no puedes”: ni siquiera se confirma que exista.
  • El módulo de diagnóstico del administrador es de sólo lectura y no expone el contenido del cuaderno personal de nadie.

Protección de la aplicación

  • Inyección SQL: todas las consultas se construyen con parámetros a través del ORM.
  • Ejecución de código en el navegador: el contenido que escriben los usuarios se trata como texto, nunca como código.
  • Falsificación de peticiones: validación de origen y cabeceras de seguridad —sin adivinar tipos de archivo, sin permitir que el sitio se incruste en otra página y sin filtrar la dirección de procedencia a terceros—.
  • Exportaciones a hoja de cálculo: las celdas se neutralizan para que un dato no pueda convertirse en una fórmula que se ejecute al abrir el archivo.
  • Arranque a prueba de descuidos: en producción el servidor se niega a levantar si falta o quedó de ejemplo alguna credencial o configuración crítica. Prefiere no arrancar antes que arrancar inseguro.

Respaldos y continuidad

  • La base de datos es un servicio administrado con respaldos automáticos y parches gestionados por el proveedor.
  • Además generamos un respaldo diario propio que se guarda en un almacenamiento independiente del servidor, para que la pérdida del servidor no implique la pérdida de los datos.
  • El procedimiento de restauración está documentado y es parte de la operación normal, no una improvisación del día del incidente.

El dinero deja rastro

Como una misma venta puede repartir comisión entre un profesor, quien recomendó y varios vendedores, cada movimiento de dinero —precios, comisiones, pagos, anulaciones— se asienta en una bitácora que registra qué cambió, quién lo cambió y cuándo.

Bitácora inalterable

Esa bitácora no se puede editar ni borrar, ni de una en una ni en bloque, ni desde la aplicación ni desde el panel de administración. Está bloqueado en el propio modelo de datos y hay pruebas automáticas que lo comprueban en cada cambio del código.

Lo que todavía no tenemos

Preferimos decirlo aquí a que una escuela lo descubra sola. A día de hoy la plataforma no cuenta con:

  • Segundo factor de autenticación. El acceso depende únicamente de la contraseña, así que no la compartas y no la repitas de otro servicio.
  • Verificación del correo al registrarse. Una cuenta queda activa sin confirmar la dirección.
  • Borrado de cuenta desde la propia aplicación. La supresión de datos se atiende de forma asistida, como explica el Aviso de Privacidad.

Están en nuestra lista de trabajo. Cuando alguna se implemente, esta página lo dirá.

Reportar una vulnerabilidad

Si encuentras un fallo de seguridad, escríbenos a soporte@librodeclase.com con los pasos para reproducirlo. Nos comprometemos a:

  • Acusar recibo y responder en un plazo razonable.
  • No emprender acciones legales contra quien reporte de buena fe y respetando los límites de abajo.
  • Trabajar contigo hasta entenderlo y corregirlo.
  • Darte crédito público si así lo deseas.

Límites de la investigación

No accedas a datos de otras personas —recuerda que aquí hay trabajo escolar de menores—, no degrades el servicio, no borres ni alteres información y no divulgues el fallo hasta que esté corregido.

Si ocurre un incidente

Ante un incidente de seguridad que comprometa datos personales, nos comprometemos a:

  • Contenerlo y limitar su alcance de inmediato.
  • Investigar qué pasó, a quién afectó y por qué.
  • Notificar a las personas afectadas —y a la escuela, cuando corresponda— dentro de las 72 horas siguientes a confirmarlo.
  • Dar aviso a las autoridades competentes cuando la ley lo exija.
  • Corregir la causa y dejar constancia de lo ocurrido.