Funzionalità — raccolta

Salva e riprendi

«Salva e riprendi» consegna a chi risponde un link di ripresa basato su un token di 24 caratteri, così un questionario lungo può essere completato in più sedute. Le risposte parziali sono custodite in una tabella che non ha alcuna policy di row-level security ed è raggiungibile soltanto attraverso funzioni di database SECURITY DEFINER: nessun client del browser può leggere la risposta lasciata a metà da un’altra persona, nemmeno sapendo che quella tabella esiste.

Perché le risposte lasciate a metà contano

Quasi sempre chi abbandona un questionario non lo fa per disaccordo. È la batteria del telefono, una riunione che comincia, una domanda che richiede un dato da chiedere a un collega, o un modulo aperto in autobus e mai più riaperto. Una domanda di contributo o una revisione di servizio con sessanta domande non è un compito da una seduta sola, e trattarla come tale riduce silenziosamente il vostro campione alle persone che hanno mezz’ora libera.

«Salva e riprendi» toglie di mezzo quel filtro. È particolarmente utile nei questionari costruiti con la logica condizionale e nei layout per sezioni, dove a chi risponde si sta già chiedendo di attraversare più schermate anziché una sola pagina breve.

Come funziona il link di ripresa

Per la sessione viene generato un token di 24 caratteri e le risposte vengono salvate a esso associate man mano che la persona procede. Il comando «finisci più tardi» le consegna il link che contiene quel token. Il token è l’intera credenziale: dietro non ci sono indirizzi email, password o account. Aprendo il link si ripristinano le risposte registrate fino a quel momento e si torna dentro al questionario.

Ne discendono due conseguenze pratiche che vale la pena dire chiaramente:

NumoForms non invia il link per email. Sono le persone stesse a copiarlo o ad aggiungerlo ai segnalibri, il che espone meno di un messaggio fermo in una casella condivisa — ma significa anche che dovreste dire, nel testo del questionario, che quel link è l’unico modo per rientrare.

Dove risiedono le risposte parziali

Le risposte completate e quelle parziali sono conservate separatamente, e la tabella delle parziali è deliberatamente più blindata di qualsiasi altra cosa nel prodotto.

ControlloCome è realizzato
Accesso diretto dal client Impossibile. La tabella delle parziali non ha alcuna policy RLS, quindi per ogni client del browser vale il diniego predefinito.
L’unica via d’accesso Funzioni SECURITY DEFINER, che vengono eseguite con i diritti di chi le ha definite e ricevono il token come argomento.
Lunghezza del token 24 caratteri.
Collocazione Supabase, Londra (eu-west-2), la stessa regione delle risposte completate.
Cifratura TLS in transito, AES-256 a riposo, forniti dalla piattaforma.

Perché «nessuna policy» è più severo di «una policy»

La row-level security nega per impostazione predefinita: una tabella con RLS attiva e nessuna policy non corrisponde a nulla, per nessuno. È scrivere una policy ad aprire una porta, e una policy sbagliata in modo sottile è il modo più comune in cui gli strumenti per questionari lasciano filtrare dati fra un cliente e l’altro. Qui non c’è alcuna porta da sbagliare. L’unico percorso verso una risposta parziale è una funzione scritta esattamente per quel compito, ed è la funzione a decidere che cosa un token vi consente di vedere.

Tutto ciò conta più del solito perché le risposte vengono inserite direttamente dal browser e non attraverso un server applicativo. È lo stesso ragionamento per cui il bucket privato dei caricamenti emette URL firmati di breve durata invece di rendere i file leggibili.

Come si comporta in ciascun layout

NumoForms ha tre layout per chi risponde, e il salvataggio funziona in tutti e tre, anche se si percepisce in modo diverso:

Date di chiusura, tetti massimi e parziali

Un questionario può avere una data di chiusura e un tetto massimo di risposte, ed entrambi sono applicati da un trigger di database e non dall’interfaccia. Poiché le risposte vengono inserite direttamente dal browser, un controllo a livello di interfaccia sarebbe un suggerimento; un trigger è una regola. L’effetto pratico per «salva e riprendi» è che un link di ripresa non esonera nessuno dalla data di chiusura. Se state conducendo una consultazione che chiude a mezzanotte, ditelo nel questionario, e date alle persone un preavviso sufficiente perché valga ancora la pena tornare su una risposta salvata. Quando un questionario è chiuso, chi risponde vede il vostro messaggio di chiusura personalizzato anziché un errore generico.

Cancellare le parziali prima della pubblicazione

Provare un questionario lungo significa creare risposte parziali. La schermata dei risultati ha un comando che cancella le risposte di prova e rimuove insieme le risposte completate, i file caricati e le risposte parziali, così «l’abbiamo provato per bene» e «il set di dati è pulito» non sono in contraddizione. Fatelo prima di pubblicare, non dopo l’arrivo della prima risposta vera.

Che cosa non fa

Essere precisi sui limiti è più utile di un elenco di funzionalità:

Argomenti collegati

«Salva e riprendi» è una parte del lato raccolta del prodotto. Si vedano anche il caricamento di file e gli URL firmati, come viene trattata l’accessibilità per chi risponde da tastiera o con uno screen reader, e la panoramica del prodotto per capire come costruzione, raccolta e analisi si incastrano. Se ci state valutando per una consultazione del settore pubblico, la pagina sulla sicurezza tratta la collocazione dei dati e i sub-responsabili.

Domande ricorrenti

Chi risponde deve avere un account per salvare i progressi?

No. Non esistono account per chi risponde. L’avanzamento è legato a un token di 24 caratteri contenuto nel link di ripresa, così la persona può tornare da un altro dispositivo senza accedere ad alcunché.

Dove sono conservate le risposte parziali?

In una tabella separata all’interno dello stesso progetto Supabase britannico (Londra, eu-west-2) che ospita le risposte completate. Quella tabella non ha alcuna policy di row-level security, quindi nessun client del browser può leggerla o scriverla direttamente. Ogni lettura e ogni scrittura passa da funzioni di database SECURITY DEFINER.

Posso eliminare le risposte parziali?

Sì. Cancellare le risposte di prova di un questionario rimuove le risposte parziali e i file caricati insieme alle risposte completate, così un questionario può essere riportato a uno stato realmente vuoto prima della pubblicazione.

Il link di ripresa viene inviato per email a chi risponde?

No. NumoForms non invia email a chi risponde. Il link viene mostrato a schermo perché la persona lo copi o lo aggiunga ai segnalibri, il che significa anche che non resta in una casella di posta che qualcun altro potrebbe leggere.

Questionari lunghi, portati a termine come si deve.

Attivate «salva e riprendi» e chi risponde riceve un link di ripresa da copiare o salvare tra i preferiti. Una consultazione da sessanta domande smette di essere un compito da una seduta sola, e smette quindi di ridurre in silenzio il vostro campione a chi ha mezz’ora libera.

  • Un link di ripresa di 24 caratteri, non un account per chi risponde
  • Si comincia dal telefono e si finisce dal computer
  • Cancellando le risposte di prova spariscono anche parziali e allegati
Iniziate a costruire