Cifrado
Todos los secretos almacenados en Driftless se cifran con AES-256-GCM antes de llegar a la base de datos. Esto incluye:- API keys
- Secretos de webhooks
- Tokens OAuth y códigos de autorización
API keys
Las API keys son el mecanismo de autenticación principal para la CLI y CI.- Las keys se generan con un prefijo
drift_para identificarlas fácilmente - La key en crudo se muestra solo una vez, al momento de crearla
- Las keys se almacenan como hashes con salt; el valor en crudo no se puede recuperar
- Las keys se pueden revocar en cualquier momento desde el dashboard
- Se admiten múltiples keys por workspace
- Una key deja de funcionar cuando su creador es removido de ese workspace
OAuth y MCP
Driftless admite autorización OAuth 2.0 para aplicaciones cliente de MCP (Model Context Protocol) como ChatGPT y Claude. OAuth permite que clientes de IA de terceros accedan al contexto de tu workspace con el consentimiento explícito del usuario.Scopes de OAuth
Flujo de OAuth
- El cliente MCP redirige al usuario a
/api/v1/oauth/authorizeen la API de Driftless - El usuario da su consentimiento en el dashboard en
/oauth/authorize - La API emite un código de autorización (con soporte PKCE)
- El cliente intercambia el código por un token de acceso en
/api/v1/oauth/token - El cliente usa el token bearer para llamar a las herramientas MCP
Seguridad de los tokens
- Los códigos de autorización, tokens de acceso y tokens de refresco se almacenan solo como hashes, nunca en texto plano
- Los tokens nunca se registran ni se devuelven después de la emisión inicial
- El servidor MCP (
apps/mcp) es un adaptador de protocolo que llama a la API REST existente de Driftless. Nunca accede a Postgres ni a librerías internas directamente.
Manejo de datos
Driftless nunca almacena tu código fuente. Los Topics conservan solo los paths y patrones glob explícitos que registra tu equipo.
Red
- Todo el tráfico entre la CLI, el dashboard y la API es HTTPS
- Las API keys se envían en cabeceras
x-api-key, nunca en parámetros de URL - Las cargas firmadas de webhooks de proveedores se verifican antes de procesarse
- La API corre en Render con variables de entorno cifradas
Protección contra extracción masiva
Todo lo que una persona autorizada puede ver en un navegador puede copiarse. Por eso Driftless protege el límite que sí puede hacerse cumplir, en vez de afirmar que los endpoints del navegador son secretos:- las consultas de inteligencia se limitan por persona verificada y workspace, en conjunto entre todos los endpoints y sin multiplicarse al cambiar de IP;
- las entregas exitosas tienen además un techo horario compartido en la base de datos, que sobrevive despliegues y múltiples instancias;
- el plan y los tamaños de página definidos por el servidor limitan lo entregado;
- los enlaces de registros y cursores son referencias opacas autenticadas, y los identificadores internos no se exponen;
- las respuestas autenticadas no se almacenan en caché y el dashboard no conserva sus cuerpos en el almacenamiento del navegador.
