Funkcja — zbieranie odpowiedzi

Zapisz i wróć później

Funkcja „zapisz i wróć później” daje respondentowi link powrotny oparty na 24-znakowym tokenie, dzięki czemu długą ankietę można wypełnić w kilku podejściach. Częściowe odpowiedzi trzymane są w tabeli, która nie ma żadnych zasad zabezpieczeń na poziomie wiersza i jest dostępna wyłącznie przez funkcje bazodanowe SECURITY DEFINER. Oznacza to, że żaden klient przeglądarki nie odczyta niedokończonej odpowiedzi innej osoby, nawet jeśli wie o istnieniu tej tabeli.

Dlaczego niedokończone odpowiedzi mają znaczenie

Większość porzuceń ankiety nie wynika z braku zgody na jej treść. Wynika z rozładowanego telefonu, zaczynającego się spotkania, pytania wymagającego liczby od współpracownika albo formularza otwartego w autobusie i nigdy nieotwartego ponownie. Wniosek o dotację czy przegląd usługi z sześćdziesięcioma pytaniami nie jest zadaniem na jedno posiedzenie, a traktowanie go w ten sposób po cichu zawęża próbę do osób, które mają wolne pół godziny.

Funkcja „zapisz i wróć później” usuwa to zawężenie. Najbardziej przydaje się w ankietach zbudowanych z użyciem logiki warunkowej i układów opartych na sekcjach, gdzie respondent i tak przechodzi przez kilka ekranów, a nie przez jedną krótką stronę.

Jak działa link powrotny

Dla sesji tworzony jest 24-znakowy token, a odpowiedzi zapisywane są przy nim w miarę pracy respondenta. Przycisk dokończenia później przekazuje respondentowi link zawierający ten token. Token jest jedynym poświadczeniem — nie stoi za nim żaden adres e-mail, hasło ani konto respondenta. Otwarcie linku przywraca dotychczas zapisane odpowiedzi i wprowadza respondenta z powrotem do ankiety.

Ma to dwie praktyczne konsekwencje, które warto powiedzieć wprost:

NumoForms nie wysyła tego linku e-mailem. Respondenci sami go kopiują lub dodają do zakładek, co jest mniejszą powierzchnią ryzyka niż wiadomość leżąca we wspólnej skrzynce — oznacza to jednak, że w treści samej ankiety warto napisać, iż link jest jedyną drogą powrotu.

Gdzie znajdują się częściowe odpowiedzi

Odpowiedzi ukończone i częściowe przechowywane są osobno, a tabela z częściowymi jest celowo zabezpieczona ostrzej niż cokolwiek innego w produkcie.

ZabezpieczenieSposób wdrożenia
Bezpośredni dostęp klienta Niemożliwy. Tabela odpowiedzi częściowych nie ma żadnych zasad RLS, więc dla każdego klienta przeglądarki obowiązuje domyślna odmowa.
Jedyna droga dostępu Funkcje SECURITY DEFINER, które działają z uprawnieniami swojego twórcy i przyjmują token jako argument.
Długość tokena 24 znaki.
Lokalizacja Supabase, Londyn (eu-west-2), ten sam region co odpowiedzi ukończone.
Szyfrowanie TLS w tranzycie, AES-256 w spoczynku, zapewniane przez platformę.

Dlaczego „brak zasad” jest ostrzejszy niż „jakaś zasada”

Zabezpieczenia na poziomie wiersza domyślnie odmawiają dostępu: tabela z włączonym RLS i bez żadnej zasady nie pasuje do niczego i do nikogo. To zapisanie zasady otwiera drzwi, a subtelnie błędna zasada jest najczęstszym sposobem, w jaki narzędzia ankietowe przeciekają między klientami. Tutaj nie ma drzwi, które można źle ustawić. Jedyną drogą do częściowej odpowiedzi jest funkcja napisana dokładnie do tego zadania, i to ona decyduje, do czego uprawnia dany token.

Ma to znaczenie większe niż zwykle, ponieważ odpowiedzi zapisują się bezpośrednio z przeglądarki, a nie przez serwer aplikacji. Z tego samego powodu prywatny zasobnik na przesłane pliki wystawia krótko ważne podpisane adresy URL, zamiast udostępniać pliki do odczytu.

Jak zachowuje się w poszczególnych układach

NumoForms ma trzy układy dla respondenta i zapisywanie działa we wszystkich, choć w każdym odczuwa się je inaczej:

Daty zamknięcia, limity i odpowiedzi częściowe

Ankieta może mieć datę zamknięcia i limit odpowiedzi, a oba te ustawienia egzekwuje wyzwalacz bazy danych, a nie interfejs. Ponieważ odpowiedzi zapisują się bezpośrednio z przeglądarki, egzekwowanie na poziomie interfejsu byłoby jedynie sugestią; wyzwalacz jest regułą. Praktyczny skutek dla funkcji „zapisz i wróć później” jest taki, że link powrotny nikogo nie zwalnia z daty zamknięcia. Jeśli prowadzą Państwo konsultacje kończące się o północy, proszę napisać o tym w ankiecie i dać ludziom dość czasu, by powrót do zapisanej odpowiedzi wciąż miał sens. Gdy ankieta jest zamknięta, respondenci widzą ustawiony przez Państwa komunikat o zamknięciu, a nie ogólny błąd.

Czyszczenie odpowiedzi częściowych przed startem

Testowanie długiej ankiety oznacza tworzenie odpowiedzi częściowych. Ekran wyników ma funkcję czyszczenia odpowiedzi testowych, która usuwa razem odpowiedzi ukończone, przesłane pliki i odpowiedzi częściowe, dzięki czemu „przetestowaliśmy to porządnie” i „zbiór danych jest czysty” nie stoją ze sobą w sprzeczności. Proszę zrobić to przed publikacją, a nie po nadejściu pierwszej prawdziwej odpowiedzi.

Czego ta funkcja nie robi

Wskazanie granic jest bardziej użyteczne niż lista możliwości:

Powiązane

„Zapisz i wróć później” to jeden z elementów strony produktu odpowiadającej za zbieranie odpowiedzi. Warto zobaczyć również przesyłanie plików i podpisane adresy URL, sposób obsługi dostępności dla respondentów korzystających z klawiatury i czytników ekranu oraz przegląd produktu, który pokazuje, jak budowanie, zbieranie i analiza łączą się w całość. Jeśli oceniają nas Państwo pod kątem konsultacji w sektorze publicznym, strona o bezpieczeństwie opisuje lokalizację przechowywania danych i podmioty przetwarzające.

Częste pytania

Czy respondenci muszą mieć konto, aby zapisać postęp?

Nie. Kont respondentów nie ma w ogóle. Postęp jest powiązany z 24-znakowym tokenem zawartym w linku powrotnym, więc respondent może wrócić na innym urządzeniu bez logowania się gdziekolwiek.

Gdzie przechowywane są częściowe odpowiedzi?

W osobnej tabeli w tym samym brytyjskim projekcie Supabase (Londyn, eu-west-2), w którym znajdują się ukończone odpowiedzi. Tabela ta nie ma żadnych zasad zabezpieczeń na poziomie wiersza, więc żaden klient przeglądarki nie może z niej bezpośrednio czytać ani do niej pisać. Każdy odczyt i zapis przechodzi przez funkcje bazodanowe SECURITY DEFINER.

Czy mogę usunąć częściowe odpowiedzi?

Tak. Wyczyszczenie odpowiedzi testowych w ankiecie usuwa częściowe odpowiedzi i przesłane pliki razem z odpowiedziami ukończonymi, dzięki czemu ankietę można przed startem przywrócić do stanu naprawdę pustego.

Czy link powrotny jest wysyłany respondentowi e-mailem?

Nie. NumoForms nie wysyła wiadomości e-mail do respondentów. Link jest pokazywany na ekranie, aby respondent mógł go skopiować lub dodać do zakładek, co oznacza również, że nigdy nie leży w skrzynce odbiorczej, do której ma dostęp ktoś inny.

Długie ankiety, doprowadzone do końca.

Włącz zapisywanie i wracanie później, a respondent dostanie link powrotny, który może skopiować lub dodać do zakładek. Konsultacja z sześćdziesięcioma pytaniami przestaje być zadaniem na jedno posiedzenie, przez co przestaje po cichu zawężać próbę do osób mających wolne pół godziny.

  • 24-znakowy link powrotny, a nie konto respondenta
  • Zacznij na telefonie, dokończ na komputerze
  • Wyczyszczenie odpowiedzi testowych usuwa też częściowe odpowiedzi i przesłane pliki
Zacznij budować