Registros de aprendizaje
RODMENA LRS
Disponible a peticiónEl almacén de evidencias para el aprendizaje, que registra lo ocurrido una vez y lo conserva con total exactitud.
RODMENA LRS es un Learning Record Store. Recibe registros de actividad de aprendizaje en formato xAPI, los almacena sin modificaciones y los devuelve a través de la interfaz de consulta estándar de xAPI. Supera todas las pruebas de la ADL LRS Conformance Test Suite para xAPI 1.0.3 y xAPI 2.0. La propia base de datos mantiene separados los registros de los clientes entre sí. El contenido de los registros se cifra en reposo. Los identificadores de los alumnos se almacenan únicamente de forma seudonimizada con clave. Los registros almacenados no se pueden modificar, aunque los datos personales de un alumno pueden eliminarse previa solicitud y las supresiones se inscriben en un registro con detección de manipulaciones.
Para quién es. Plataformas de aprendizaje y proveedores de formación que necesitan un almacén conforme a los estándares para los registros de actividad de los alumnos. Se trata de un servicio de back-end sobre el que se desarrollan productos y al que estos llaman desde sus servidores; los alumnos y los navegadores no se comunican con él directamente. REES es su primer consumidor.
- Estado
- Disponible a petición
- Forma parte de
- Soluciones
- Licencia
- Software propietario. Copyright RODMENA LIMITED, todos los derechos reservados.
- Conformidad
- 1,365 pruebas de conformidad xAPI 1.0.3, todas superadas
- 1,435 pruebas de conformidad xAPI 2.0, todas superadas
- Verificado el 23 de septiembre de 2026
- Etiquetas
- xAPIRegistros de aprendizajeConformidadMultiinquilinoProtección de datosRegistro de auditoría
Especificación técnica
Redactado para un evaluador técnico. Se omiten las filas que no tienen ningún valor medido.
Estándares
- xAPI 1.0.3
- Especificación de ADL Experience API, versión 1.0.3
- xAPI 2.0
- IEEE 9274.1.1-2023
- Selección de versión
- Por solicitud, mediante la cabecera X-Experience-API-Version. Se aceptan 1.0.x y 2.0.x, y una versión ausente o desconocida se rechaza con un 400.
- Suite de conformidad
- ADL LRS Conformance Test Suite, última ejecución el 23 de septiembre de 2026
- Resultado de conformidad
- xAPI 1.0.3: 1.365 de 1.365. xAPI 2.0: 1.435 de 1.435.
- Más allá de la suite
- Donde la suite indica que no prueba un requisito, una comprobación específica lo cubre. También encontramos seis pruebas de la suite que no realizan aserciones y las cubrimos por separado.
- Por diseño
- OAuth 1.0 está obsoleto y no se acepta. Los productos basados en el servicio lo llaman de servidor a servidor. No admite llamadas de origen cruzado desde un navegador.
Interfaz
- Recursos
- Statements, State, Activity Profile, Agent Profile, Activities, Agents y About. Todas las rutas GET también responden a HEAD.
- Autenticación
- HTTP Basic mediante las credenciales que emite el servicio. Los secretos son de 256 bits y se almacenan únicamente como un verificador con clave. Las credenciales desconocidas, deshabilitadas y caducadas reciben respuestas 401 idénticas a nivel de bytes.
- Alternate Request Syntax
- Compatible con la versión 1.0.3 y rechazado con la 2.0, tal como exige esa especificación.
- Declaraciones firmadas
- JWS con RS256, RS384 y RS512, verificado cuando se incluye un certificado.
- Adjuntos
- multipart/mixed, cotejado mediante hash SHA-2. 5 MiB por archivo adjunto y 1 MiB por cuerpo de declaración, ambos configurables.
- Paginación
- Cursores sin estado firmados que siguen siendo válidos tras un reinicio. Todas las respuestas de declaraciones llevan el encabezado de consistencia de xAPI.
- Idempotencia
- El reenvío de un identificador de declaración idéntico se acepta sin duplicación. Uno en conflicto se rechaza con 409.
- Limitación de frecuencia
- Por credencial, más un presupuesto independiente por dirección de cliente para autenticaciones fallidas.
Aislamiento y seguridad
- Aislamiento de inquilinos
- Seguridad a nivel de fila de PostgreSQL, habilitada y forzada en todas las tablas que contienen datos de inquilinos. El rol de base de datos de la aplicación no posee nada y no puede eludirla. Cada transacción toma su inquilino únicamente de la credencial autenticada.
- Aislamiento, aplicado
- Una prueba del catálogo hace fallar la compilación si alguna tabla de inquilino, o alguna partición creada en tiempo de ejecución, carece de la política.
- Cifrado en reposo
- AES-256-GCM en cuerpos de declaración, documentos, archivos adjuntos, definiciones de actividad e identidades de credenciales, con una clave por registro derivada mediante HKDF-SHA256.
- Vinculación de texto cifrado
- Un texto cifrado está vinculado a la identidad de su fila y no se descifrará si se traslada a otra fila.
- Custodia de claves
- Tres claves custodiadas fuera de la base de datos, en archivos de claves con permisos 0600 o en el entorno. No hay clave predeterminada, y el servicio se niega a arrancar sin ellas.
- Rotación de claves
- La clave de índice se rota mediante un cambio de clave («rekey») sin conexión y reanudable, y la rotación de la clave de credenciales vuelve a emitir las credenciales. Dado que los registros almacenan el ID de la clave con la que se escribieron, una rotación no requiere ninguna migración de datos.
- Identificadores de alumnos
- Se conservan únicamente como tokens HMAC-SHA256 bajo una clave por inquilino, y un alumno en dos inquilinos genera dos tokens no relacionados. Ninguna columna almacena la identidad de un alumno en texto no cifrado.
- Ámbitos de credenciales
- El conjunto de ámbitos de xAPI de statements/write, statements/read, statements/read/mine, state, profile, all/read y all. El más restrictivo lee únicamente las declaraciones que esa misma credencial escribió.
- Inmutabilidad
- Los activadores de la base de datos mantienen las declaraciones y los archivos adjuntos en modo solo anexión al rechazar UPDATE, DELETE y TRUNCATE. Los únicos cambios permitidos son el indicador de anulación y un borrado.
- Transporte de base de datos
- TLS con verificación completa de certificado y nombre de host es obligatorio, y el servicio se niega a iniciarse sin él.
- Eventos de auditoría de solicitudes
- Un evento estructurado por solicitud que incluye el id de solicitud, el id de clave de credencial, el inquilino, el método, el recurso, el estado, el recuento de registros, la duración y los nombres de los filtros. Los valores del alumno en los filtros se tokenizan antes de registrarse.
- Detección de manipulaciones
- El registro de borrado está encadenado por hash, y un único comando verifica toda la cadena desde el primer eslabón hasta el último.
Protección de datos
- Supresión
- Una eliminación por seudonimización. El alumno se sustituye por un seudónimo aleatorio en cualquier posición en la que una declaración pueda nombrarlo, se eliminan las respuestas de texto libre y los archivos adjuntos, y se borran sus documentos de State y Agent Profile. No se utiliza el borrado físico.
- Supresión, registrada
- Los borrados se escriben en el registro encadenado por hash. Dado que el comando rechaza un borrado que no coincide con nada, un alumno escrito de forma errónea no puede pasar por un borrado completado.
- Copias de seguridad
- Una supresión se completa una vez que han caducado las copias de seguridad realizadas antes de ella. Tras una restauración, se reproduce el registro de supresiones.
- Retención
- Por mes natural, por instancia. El mes se separa, se exporta como un archivo por inquilino y se elimina. La eliminación se rechaza a menos que el número de filas exportadas coincida.
- Retención, por cliente
- Un cliente que necesite su propio periodo de conservación necesita su propia instancia.
- Exportación al salir
- A través de la interfaz xAPI estándar, el cliente puede paginar todos sus registros y sus archivos adjuntos como xAPI JSON y llevárselo todo.
- Residencia
- Una instancia se ejecuta en la región que exige un contrato. El servicio solo necesita una base de datos PostgreSQL.
Operaciones y verificación
- Modelo de despliegue
- Una instancia multiinquilino compartida, o una instancia dedicada por cliente.
- Las sondas demuestran que pueden fallar
- El entorno de pruebas no dará por superada ninguna de las 47 comprobaciones de comportamiento hasta que se haya demostrado que dicha comprobación arroja el resultado FAIL frente a una compilación rota a propósito. También ejecutamos el conjunto de pruebas de conformidad frente a compilaciones rotas.
Qué hace
-
Conformidad probada
Supera las 1.365 pruebas del ADL LRS Conformance Test Suite para xAPI 1.0.3, y las 1.435 para xAPI 2.0.
-
Los registros nunca cambian
Una vez almacenada, una declaración no puede editarse ni sobrescribirse, solo anularse, tal como especifica el estándar.
-
Aislado por diseño
Los registros de los clientes se mantienen separados mediante reglas que aplica la base de datos, además del código de la aplicación.
-
Cifrado y seudonimizado
El contenido de los registros se cifra en reposo, y los identificadores de alumnos solo se indexan como tokens con clave.
-
Supresión con un registro de auditoría
Previa solicitud, los datos personales de un alumno se eliminan de sus registros, y la supresión queda registrada en un registro con detección de manipulaciones y encadenamiento mediante hash.
-
Credenciales con ámbito
Una credencial se limita a las operaciones que necesita, llegando incluso a leer únicamente los registros que ella misma ha escrito.
Para documentación, un piloto o una integración, contacte con nosotros.