Ley 1581 de 2012
Datos de menores, tratados como lo exige la ley
Consentimiento del acudiente separado por finalidad, minimización real de lo que se pide, y aislamiento entre colegios comprobado por pruebas automáticas que corren en cada cambio de código.

Minimización
Lo que no pedimos es la mitad del trabajo
De un estudiante guardamos su nombre, su fecha de nacimiento y el curso en que está matriculado. No pedimos documento de identidad, ni dirección, ni teléfono, ni foto.
La fecha de nacimiento no es un dato de más: es la que determina si el estudiante es menor de edad, y de ahí depende que cualquier tratamiento no esencial exija el consentimiento vigente de un acudiente verificado. Se pide porque decide una regla, no porque «podría servir después».
Consentimiento
Uno por finalidad, y siempre separados
Agrupar consentimientos en una sola casilla es exactamente lo que sanciona la Superintendencia de Industria y Comercio. Aquí son casillas distintas porque son decisiones distintas.
Prestación del servicio
Lo indispensable para que el estudiante entre y lea. Sin esto no hay producto, y por eso es lo único que no es opcional.
Analítica
Que el avance del estudiante alimente los reportes del docente y de rectoría. Separado, porque un colegio puede quererlo y una familia no.
Tutor con inteligencia artificial
Todavía no está construido, y el consentimiento ya está modelado y separado. Ningún dato de un menor sale hacia un servicio externo sin anonimizar.
Evaluación de voz
Para la pronunciación en inglés. Aparte de todo lo demás y desactivable: un alumno tiene que poder llegar a B1 sin que nadie grabe su voz.
Conservación del audio
Otra casilla más, distinta de la anterior. Evaluar la voz y guardarla no son la misma decisión. Máximo 90 días y con borrado automático.
Marketing
Separado de todo. Autorizar que el colegio use la plataforma no autoriza que le escribamos a la familia para venderle algo.
El audio de un estudiante no se almacena por defecto: se evalúa y se descarta. Solo persiste el puntaje. Y nunca se usa para entrenar modelos.
Aislamiento
El colegio A no puede ver al colegio B
No porque la aplicación filtre bien, sino porque el motor de la base de datos no le entrega esas filas. Cada tabla de negocio tiene activado el aislamiento por institución a nivel de Postgres, y la aplicación no escribe el filtro a mano — un where olvidado en una sola consulta sería una fuga entre colegios.
Y hay una regla de desarrollo que lo sostiene: una tabla nueva sin su prueba de aislamiento no entra al producto. La prueba monta dos colegios de mentira, escribe datos en uno y comprueba, conectada como un usuario real del otro, que no ve ni una fila. Corre en cada cambio de código.
Un error que encontramos
Y que contamos porque encontrarlo es el punto
Al construir el panel de rectoría apareció que la función de permisos dejaba pasar a la administración del colegio: la dirección podía leer, fila por fila, el progreso y las anotaciones de cualquier niño. La regla estaba escrita en la documentación del producto y no estaba implementada.
Se corrigió con una migración que reescribe esas políticas sin delegar en la función compartida —una función compartida se amplía un día por otro motivo y se lleva por delante una regla que nadie recordaba que dependía de ella— y hoy hay pruebas que fallan si alguien vuelve a abrir esa puerta.
Lo contamos porque un proveedor que jamás ha encontrado un problema de privacidad en su propio producto es un proveedor que no ha mirado.
Sus derechos
Cómo se ejercen, y con quién
¿Quién es el responsable del tratamiento?
¿Cómo pido acceso, corrección o supresión?
¿Cuánto tiempo conservan los datos?
¿Los datos salen del país?
¿Se borra algo alguna vez de verdad?
Abrimos pronto para su colegio
Todavía no se pueden crear cuentas ni agendar demostraciones. Mientras tanto, los libros y la forma de trabajar ya se pueden ver aquí.
