Cosa fa effettivamente il codice
Venti meccanismi verificati nel codice il 16-09-2026. Una frase per ciascuno.
Verificato rispetto al codice il 16-09-2026
Ogni query del database passa attraverso un'estensione Prisma che la associa all'organizzazione della richiesta; una query priva del contesto dell'organizzazione fallisce invece di restituire righe.
I seed TOTP e i token dei provider di terze parti sono memorizzati crittografati con AES-256-GCM, con un portachiavi che consente la rotazione delle chiavi senza perdere l'accesso ai dati esistenti.
Ogni risposta HTML riceve una Content-Security-Policy con un nonce casuale per richiesta, e uno script inline privo di tale nonce non viene eseguito.
Ogni chiamata che modifica lo stato e che trasporta una sessione dello staff deve inviare un token CSRF corrispondente al cookie, e l'applicazione di questa regola non può essere disattivata in produzione.
Il link della ricevuta di approvazione è firmato con HMAC-SHA256, la firma viene verificata prima di qualsiasi lettura del database e ogni errore restituisce lo stesso 404.
Un link di condivisione è un token casuale da 32 byte di cui viene memorizzato solo l'hash SHA-256, con scadenza, password opzionale e revoca immediata; un link revocato, scaduto o sconosciuto restituisce lo stesso 404.
Ogni file caricato viene scansionato con ClamAV su una VM privata all'interno del VPC prima che ne venga creata un'anteprima, e un file senza un verdetto di pulizia viene trattenuto e non erogato.
I file superiori a 2 GiB vengono bloccati e non scansionati. Un file bloccato non viene distribuito.
Un cliente accede al portale senza account, tramite codice, link, telefono o e-mail; viene memorizzato solo un HMAC del codice o del token, un accesso scade (30 giorni di default) e la revoca disconnette ogni dispositivo entro due minuti.
Il registro delle attività è di tipo append-only nell'applicazione: nessun percorso di codice aggiorna o elimina una riga di audit, e un controllo di CI fallisce in caso di qualsiasi tentativo di aggiungerne uno.
Ogni rotta API è soggetta a rate limit per utente o IP del client tramite un contatore Redis condiviso tra le istanze; quando Redis non è disponibile, il limite scende a un terzo per istanza invece di aprirsi.
La sessione è un cookie JWT firmato (HS256) con HttpOnly, Secure e SameSite=Lax, scade dopo due ore di inattività e può essere revocata su tutti i dispositivi contemporaneamente; le password sono memorizzate come hash scrypt e i codici di recupero MFA sono memorizzati solo come HMAC.
Il portale, i link di condivisione, le ricevute, l'accettazione degli inviti e le pagine di completamento della registrazione e di reimpostazione della password contengono il tag noindex, e il file robots.txt vieta l'accesso a /api/, /admin, /app e /coupons.
Il proprietario di un workspace esporta i dati ed elimina il workspace o il proprio account senza chiederlo a noi; l'eliminazione blocca l'accesso immediatamente e la cancellazione permanente viene eseguita automaticamente dopo 30 giorni, il numero indicato nei termini, nell'informativa sulla privacy e nel DPA.
I segreti vengono montati da Secret Manager al momento del deploy, convalidati all'avvio (lunghezza minima, valori segnaposto rifiutati, la chiave di crittografia deve essere di 32 byte casuali) e oscurati dai log e dai report degli errori.
Le chiamate pianificate sono autenticate con una firma HMAC-SHA256 entro una finestra temporale di cinque minuti o con un token Google OIDC, e un segreto bearer statico viene rifiutato in produzione.
Ogni richiesta in uscita verso un indirizzo fornito dall'utente (importazioni da Drive, webhook) viene verificata rispetto a intervalli di indirizzi privati, anche dopo i reindirizzamenti e al momento della connessione.
Il corpo di una richiesta API è limitato a 1 MiB e viene verificato rispetto a uno schema rigoroso che rifiuta i campi sconosciuti prima che il codice lo tocchi.
Il tipo di file viene determinato dai byte stessi anziché dalla dichiarazione del browser, e un file che supera la quota del piano o il limite per singolo file viene rifiutato prima del caricamento.
Ogni percorso di oggetto viene verificato rispetto al prefisso dell'organizzazione prima della firma, della lettura o dell'eliminazione, e i file vengono distribuiti tramite URL firmati a tempo limitato (6 ore per la visualizzazione, 5 minuti per il download).
Le proposte dell'AI vengono salvate come proposte e applicate solo dopo l'approvazione di una persona, e il codice dell'AI non può aprire uno scope di sistema sui dati dei clienti; un gate di CI si occupa di garantirlo.
Ogni deploy supera prima l'intera suite di test con copertura, i gate del codice e npm audit a livello alto; un deploy in produzione passa anche attraverso un canary con readiness probe.
Dove si trovano i server
I server, il database e i file di Tasked si trovano nella regione europe-west1 (Belgio) di Google Cloud.
I sub-responsabili (email, SMS, pagamenti, segnalazione errori, fornitori di AI) e Google Analytics, che misura l'uso del sito e dell'app, elaborano i dati al di fuori di tale regione.
Le tue responsabilità
- I link del portale, i link di condivisione e i link delle ricevute sono credenziali al portatore: chiunque li possieda può accedere.
- L'MFA è facoltativo per ciascun account, non è richiesto su tutti gli account.
- Un file in sospeso richiede l'intervento di un membro del workspace.
- I dati eliminati possono essere ripristinati per 30 giorni, dopodiché vengono rimossi definitivamente.
Inizia senza carta
Quattordici giorni, tutto attivo. Apri un workspace, di' all'AI come lavori, invita un cliente ad approvare.