sempods-kotlin
Implementación de referencia JVM del protocolo Sempods para espacios de datos descentralizados con control de acceso OAuth 2.1, sandboxing SPARQL y almacenamiento MongoDB/MinIO.
Ficha actualizada 22 sept 2026, 16:05 · upstream 22 sept 2026, 13:56 · release v0.1.0
Qué es sempods-kotlin
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
El repositorio sempods-kotlin es una implementación de referencia para la JVM del protocolo Sempods, diseñado como un espacio de datos donde los usuarios son propietarios de sus datos estructurados en RDF/JSON-LD. El sistema invierte el modelo tradicional: las aplicaciones y agentes acceden a los datos del usuario sin copias centralizadas, mediante HTTP y OAuth 2.1 con resolución de concesiones lado servidor.
La arquitectura se basa en tres servicios independientes que comparten bibliotecas comunes (sempods-auth-core, sempods-mcp-core) pero escalan por separado: un servidor de pods, un servicio de identidad y un endpoint MCP alojado. Utiliza MongoDB para persistencia y S3/MinIO para almacenamiento de medios, con una superficie HTTP descrita mediante OpenAPI manuales.
El proyecto separa claramente la especificación del contrato (en sempods-spec) de la implementación, permitiendo que otros desarrolladores construyan sobre el mismo protocolo sin depender de este código específico. Las bibliotecas están publicadas en Maven Central desde la versión 0.1.0.
- Gestión federada de datos personales (fotos, notas, conversaciones AI) donde el usuario controla permisos granulares por contexto
- Publicación de eventos como Linked Open Data consultables públicamente sin autenticación
- Integración con agentes MCP que acceden a múltiples pods sin duplicación de datos ni tokens centralizados
- Desarrollo de aplicaciones cliente usando las bibliotecas sempods-client y sempods-model en proyectos Kotlin/Java
- OAuth 2.1 con PKCE y resolución de concesiones lado servidor (grants duraderos que no viajan en tokens)
- Sandboxing estricto de SPARQL que limita consultas a contextos autorizados por el usuario
- Separación clara entre especificación y código con gobernanza independiente en sempods-spec
- Soporte para múltiples servicios independientes (pod server, hosted MCP) que comparten tokens y scopes
- Ausencia de suite de conformance para verificar cumplimiento del contrato por terceros
- Falta de sistema de migración de esquema automático (requiere backup manual antes de actualizaciones)
- Dependencia de Java 25 para módulos RDF4J mientras otros funcionan en Java 21
- Naturaleza experimental de la versión 0.x que permite cambios en la API sin aviso
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Usar Docker Compose v2 con Java 25. Configurar SEMPODS_PUBLIC_BASE_URL antes de iniciar para minting correcto de IRIs. Tomar backup de MongoDB antes de cualquier actualización debido a la falta de migración automática. Evitar snapshots en producción usando versiones fijas de Maven Central.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.