Sicurezza

Le tue attività restano tue

Done è pensato per un mondo in cui gli agenti IA condividono la tua lista di attività: per questo isolamento, accesso limitato e approvazione umana non sono funzioni, sono le fondamenta.

Isolamento degli account

  • Ogni attività, progetto e tag è limitato agli spazi di lavoro di cui fai parte. Una query può restituire solo le righe che il tuo account è autorizzato a vedere: non esiste un percorso che legga da un account all’altro.
  • La colonna interna di creazione e attribuzione viene rimossa prima che una riga lasci il livello dati, quindi non fa mai parte della superficie dell’API.
  • Gli spazi di lavoro condivisi e la condivisione per progetto si attivano solo se lo decidi tu: un collega vede solo ciò a cui lo inviti, nient’altro.

Autenticazione

  • Le password vengono sottoposte a hashing con argon2id e non sono mai conservate in chiaro. L’autenticazione è per account, non un segreto d’ambiente condiviso.
  • Attiva l’autenticazione a due fattori (TOTP) e una password rubata non basta per accedere. Viene richiesta anche per reimpostare la password, quindi il solo accesso alla casella di posta non permette di impadronirsi di un account, e ricevi dieci codici di recupero monouso nel caso perdessi il dispositivo.
  • Le sessioni sono per account e basate su cookie; ogni sessione corrisponde a un solo utente, e ogni richiesta è limitata a quell’utente.
  • L’intero sito ha un’unica origine ed è servito su HTTPS con una Content-Security-Policy rigorosa: gli script in linea vengono eseguiti solo con un nonce nuovo a ogni richiesta, quindi uno script iniettato non viene eseguito.

Accesso degli agenti e token

  • Ogni account ha il proprio endpoint MCP e i propri token. Non esiste un token condiviso o globale: un token vede sempre e solo i dati del proprio account.
  • Con Pro e Teams puoi restringere un token alla sola lettura o a un singolo progetto, così un agente riceve esattamente l’accesso che gli serve e niente di più.
  • Collegati con OAuth 2.1 (Done è un server di autorizzazione completo per il proprio endpoint MCP) o con un bearer token. Rigenerare o revocare un token lo invalida all’istante.
  • Cambiare o reimpostare la password revoca anche tutte le credenziali API, cioè i token MCP e le app collegate: così, dopo una sospetta compromissione, non resta nessun accesso degli agenti attivo senza che tu lo sappia.

Approvi tu ogni risultato

  • Un’attività soggetta ad approvazione non può chiudersi da sola. Un agente propone un piano prima di un lavoro consistente e un riepilogo prima del completamento; niente risulta completato senza la tua approvazione in In attesa di te.
  • Solo una persona può rendere un’attività approvabile in automatico: un agente non può togliersi da solo il controllo.
  • Ogni sessione di un agente viene registrata come esecuzione, con i suoi budget di chiamate agli strumenti e di tempo, così puoi vedere esattamente cosa è stato eseguito e limitare fin dove arriva.

I tuoi dati

  • I dati stanno in Cloudflare D1 (SQLite all’edge) e i file allegati alle attività in Cloudflare R2, entrambi serviti da un unico Worker: nessun backend separato che fa circolare i tuoi dati.
  • Eliminare un’attività la sposta nel Cestino, con 30 giorni di tempo per ripristinarla: non è un’eliminazione definitiva immediata.
  • Esporta le tue attività in CSV o Markdown in qualsiasi momento, ed elimina tu stesso il tuo account (con tutti i suoi dati) dall’app.

Slack e collegamenti di terze parti

  • L’app per Slack si collega utente per utente e solo dopo che tu, con l’accesso a Done effettuato, lo confermi: un’identità Slack non può essere associata a un account senza il consenso del proprietario.
  • Ogni richiesta in arrivo da Slack viene verificata con la firma basata sul signing secret di Slack, e le richieste riproposte in un secondo momento (replay) vengono rifiutate.
  • Google Calendar e i feed di calendario ICS sottoscritti sono entrambi una sincronizzazione in sola lettura degli orari occupati, mai dei titoli o dei dettagli degli eventi, e sono del tutto facoltativi: niente viene collegato se non lo colleghi tu.

Hai trovato qualcosa?

Segnala in privato un problema di sicurezza a security [chiocciola] trydone.app e ti risponderemo. Per favore non aprire una issue pubblica per qualcosa che si può sfruttare.