Aislamiento que puedes verificar

La memoria de tu agente contiene tus decisiones, tu arquitectura, tus trade-offs. Nunca debería filtrarse a otro tenant — y deberías poder demostrarlo.

Postmortem del Incidente

Aprendimos aislamiento de datos por las malas

En mayo de 2026, descubrimos que un fallback de proyecto por defecto en nuestra ruta de inyección de contexto causó que 6,500+ observaciones de 5 proyectos diferentes compartieran un único namespace llamado "default". Cuando un plugin no podía derivar un nombre de proyecto del directorio de trabajo actual, recurría silenciosamente a este scope genérico — mezclando observaciones de codebases no relacionados en un pool compartido.

Este no era un riesgo teórico. Era data real de proyectos reales — decisiones arquitectónicas, rastros de debugging, resúmenes de sesión — todo consultable por cualquier tenant cuyo plugin alcanzara la misma ruta de fallback.

Lo que hicimos

  1. 1
    Eliminamos permanentemente el fallback. El nombre de proyecto "default" ahora está prohibido en las rutas de inyección de contexto. Cuando un plugin no puede derivar un nombre de proyecto, devuelve cero resultados — no una fuga de otro proyecto.
  2. 2
    Retrofillamos toda la data afectada. Cada observación previamente almacenada bajo "default" fue migrada a su namespace de proyecto correcto — tanto en la base de datos primaria como en la réplica cloud secundaria.
  3. 3
    Escribimos pruebas de regresión. Las pruebas guardia en leak01-guard.test.ts se ejecutan en CI en cada push. La instrucción permanente: "Si esta prueba falla, NO cambies la prueba. Corrige el código del instalador."
  4. 4
    Documentamos la corrección públicamente. La mayoría de las empresas ocultan incidentes. Nosotros publicamos el nuestro — porque una prueba que puedes leer vale más que una afirmación que no puedes verificar.
Verifícalo Tú Mismo

Demo de verificación de aislamiento

Ningún competidor ofrece un endpoint de API que puedas consultar para verificar el aislamiento de proyectos. Nosotros sí. Ejecuta este comando curl contra tu propio proyecto:

terminal
# Verifica que tu proyecto devuelve solo sus propias observaciones
$ curl -s https://api.telepathine.ai/v1/context/inject \
  -G -d "projects=your-project" -d "limit=5" \
  -H "Authorization: Bearer $TELEPATHINE_API_KEY"

# Devuelve SOLO las observaciones de tu proyecto
# Nunca incluye el scope "default"
# Cero observaciones para proyectos desconocidos

Prueba 1

Consulta tu propio proyecto — recibe solo tu data.

Prueba 2

Consulta un nombre de proyecto desconocido — recibe cero observaciones.

Prueba 3

Nunca ves un scope fallback "default" en ninguna respuesta.

Arquitectura

Cómo funciona el aislamiento

Seguridad a Nivel de Fila con políticas FORCE

Cada tabla de la base de datos usa Seguridad a Nivel de Fila de PostgreSQL con políticas FORCE. El aislamiento de tenant se aplica en la capa de base de datos — no en la capa de aplicación. Incluso un endpoint de API mal configurado no puede recuperar datos de otro tenant porque la base de datos rechaza la consulta antes de devolver filas.

Las API keys llevan contexto de tenant. Los scopes read, write y admin limitan lo que cada key puede hacer. Las configuraciones de visibilidad de proyecto (privado, tenant, compartido) ofrecen control granular dentro de tu organización.

Consultas scoped por proyecto

Cada observación, sesión e inyección de contexto está scoped a un proyecto específico. Las consultas nunca cruzan fronteras de proyecto — no por defecto, no por accidente, no por fallback. Cuando un proyecto no tiene datos, recibes cero resultados — no una fuga del historial de otro proyecto.

Los nombres de proyecto se derivan del remote de Git, archivo de configuración o basename del CWD. No existe un scope fallback genérico. El postmortem LEAK-01 arriba explica por qué.

Encriptación

Tus keys, tus modelos

BYOK en cada plan

En cada plan — incluyendo el plan gratuito — puedes configurar tus propias keys de proveedores de LLM y embeddings. OpenAI, Anthropic o cualquier endpoint compatible. Tus keys de proveedor de IA están encriptadas en reposo y nunca se comparten entre tenants ni se usan para ningún propósito que no sea tu propio pipeline Morpheus y operaciones de embeddings.

Nunca entrenamos con tu data. Nunca usamos tus keys de IA para las peticiones de nadie más.

Seguridad de API keys

Las API keys están hasheadas en reposo usando SHA-256. Las keys nunca se almacenan en texto plano y nunca aparecen en comandos de hook, logs o mensajes de error. El archivo ~/.agent-memory/env proporciona gestión segura de keys con permisos de sistema de archivos.

La exportación completa por REST API está disponible en cualquier momento. Sin vendor lock-in, sin data como rehén. Tu memoria viaja contigo.

terminal
# Exportar todas las observaciones de un proyecto
$ curl https://api.telepathine.ai/v1/observations \
  -H "Authorization: Bearer $TELEPATHINE_API_KEY" \
  -G -d "project=my-project&limit=10000" \
  > export.json
Cumplimiento

Hoja de ruta de cumplimiento

Estado honesto, no afirmaciones de marketing. En progreso no significa conforme. Parcial no significa certificado.

Estándar Estado Qué esperar
RLS (políticas FORCE) Activo Cada tabla, políticas FORCE. Aplicación en la capa de base de datos.
BYOK Activo Tus keys, tus modelos. Gratis en todos los planes.
Exportación (REST API completa) Activo REST API completa, sin lock-in. Exporta en cualquier momento.
SOC 2 Type I En progreso Objetivo Q3 2026. Aún no certificado.
SOC 2 Type II Planificado Objetivo Q3 2027. Depende de completar Type I.
GDPR Parcial La API de exportación soporta derecho de acceso. El endpoint de derecho de supresión y DPA están en progreso. Aún no conforme.
HIPAA N/A No procesamos Información de Salud Protegida. HIPAA no aplica.
Lenguaje

Lo que decimos y por qué

Lenguaje específico y verificable por sobre abstracción de marketing. Si no podemos demostrarlo, no lo afirmamos.

Decimos Nunca decimos
Seguridad a Nivel de Fila con políticas FORCE Seguridad de nivel empresarial
Aislamiento por tenant y por proyecto Los datos se mantienen seguros
API keys hasheadas en reposo (SHA-256) Encriptación de grado militar
Sin fallback por defecto — cero resultados para proyectos desconocidos Tomamos el aislamiento en serio
Las pruebas de regresión previenen reintroducción Esto nunca volverá a pasar
BYOK — tus keys, tus modelos Protegemos tus datos
REST API completa, sin lock-in Integración seamless
Principios

Principios de seguridad

1

Aislamiento por defecto

Los datos están scoped a tu tenant y proyecto. No existe modo "ver todo". Cero resultados para un proyecto nuevo es comportamiento correcto — no un bug para solucionar con scopes de fallback.

2

Verifica, no confíes

Las pruebas de regresión protegen contra fallas de aislamiento conocidas. Cuando encontramos una fuga, la corregimos, retrofillamos la data afectada y escribimos una prueba que detecta recurrencias. Las pruebas guardia se ejecutan en CI en cada push.

3

Transparencia por sobre silencio

Cuando encontramos un problema de seguridad, lo documentamos. Publicamos los detalles de nuestra corrección de aislamiento entre proyectos porque la transparencia genera confianza — y porque una prueba que puedes leer vale más que una afirmación que no puedes verificar.

4

Tus keys, tus modelos

BYOK en cada plan. Nunca usamos tus keys de proveedor de IA para nada más que tus propias peticiones. Nunca entrenamos con tu data. Tus llamadas LLM, tus embeddings, tus resúmenes Morpheus — todo procesado con keys que tú controlas.

Reporta una vulnerabilidad

¿Encontraste un problema de seguridad? Queremos saber de él — y creditaremos las divulgaciones responsables.

PGP

Disponible bajo solicitud. Encripta reportes sensibles antes de enviarlos.

Tiempo de respuesta

Dentro de 48 horas.

Política

Creditamos divulgaciones responsables. No emprendemos acciones legales contra investigadores de buena fe.