Seguridad
Tus tareas siguen siendo tuyas
Done está hecho para un mundo en el que los agentes de IA comparten tu lista de tareas, así que el aislamiento, el acceso limitado y la aprobación humana no son funciones: son la base.
Aislamiento de cuentas
- Cada tarea, proyecto y etiqueta está limitado a los espacios de trabajo de los que eres miembro. Una consulta solo puede devolver filas que tu cuenta tiene permitido ver; no existe ningún camino que lea entre cuentas.
- La columna interna de creador y atribución se elimina antes de que cualquier fila salga de la capa de datos, así que nunca forma parte de la API.
- Los espacios de trabajo compartidos y el uso compartido por proyecto son opcionales: un compañero de equipo solo ve aquello a lo que lo invitas, nada más.
Autenticación
- Las contraseñas se protegen con hash argon2id y nunca se guardan en texto plano. La autenticación es por cuenta, no un secreto compartido del entorno.
- Activa la autenticación en dos pasos (TOTP) y una contraseña robada no alcanza para iniciar sesión. También se exige al restablecer la contraseña, así que el acceso a tu correo por sí solo no basta para quedarse con la cuenta, y recibes diez códigos de recuperación de un solo uso por si pierdes el dispositivo.
- Las sesiones son por cuenta y se basan en cookies; cada sesión corresponde a un único usuario y cada solicitud se limita a ese usuario.
- Todo el sitio es del mismo origen y se sirve por HTTPS con una Content-Security-Policy estricta: los scripts en línea solo se ejecutan con un nonce nuevo en cada solicitud, así que un script inyectado no corre.
Acceso de agentes y tokens
- Cada cuenta tiene su propio endpoint MCP y sus propios tokens. No existe ningún token compartido ni global: un token solo ve los datos de su propia cuenta.
- En Pro y Teams puedes limitar un token a solo lectura o a un solo proyecto, para que un agente tenga exactamente el acceso que necesita y nada más.
- Conéctate con OAuth 2.1 (Done es un servidor de autorización completo para su endpoint MCP) o con un token bearer. Regenerar o revocar un token lo invalida al instante.
- Cambiar o restablecer tu contraseña también revoca todas las credenciales de la API —tokens MCP y apps conectadas—, así que recuperarte de una posible filtración no deja acceso de agentes activo sin que lo sepas.
Tú apruebas cada resultado
- Una tarea con aprobación no puede cerrarse sola. Un agente propone un plan antes de un trabajo importante y un resumen antes de completarlo; nada llega a terminado sin tu aprobación en la Sala de control.
- Solo una persona puede marcar una tarea como aprobable automáticamente; un agente no puede quitarse su propio control.
- Cada sesión de un agente queda registrada como una ejecución con sus presupuestos de llamadas a herramientas y de tiempo, así ves exactamente qué se ejecutó y puedes ponerle un límite.
Tus datos
- Los datos viven en Cloudflare D1 (SQLite en el edge), servidos por un único Worker, sin un backend aparte por el que pasen tus datos.
- Eliminar una tarea la mueve a la Papelera, con 30 días para restaurarla, en lugar de borrarla definitivamente al instante.
- Exporta tus tareas en CSV o Markdown cuando quieras, y elimina tu cuenta (con todos sus datos) tú mismo desde la app.
Slack y conexiones de terceros
- La app de Slack se vincula por usuario y solo después de que tú, con tu sesión de Done iniciada, lo confirmas: una identidad de Slack no puede asociarse a una cuenta sin el consentimiento de su dueño.
- Cada solicitud entrante de Slack se verifica con la firma del secreto de firma de Slack, y las solicitudes repetidas (vencidas) se rechazan.
- Google Calendar es una sincronización de horarios ocupados de solo lectura y es completamente opcional; no se conecta nada a menos que tú lo conectes.
¿Encontraste algo?
Reporta un problema de seguridad en privado a security [arroba] trydone.app y te responderemos. Por favor, no abras un issue público sobre nada que pueda explotarse.