Vad en godkännandepost är värd
En godkännandepost i Tasked besvarar fyra frågor flera månader senare: vem som godkände, när, vilken version och genom vilken ingång. Varje kundbeslut skriver en beslutsrad som markeras som kommande från kundportalen, plus granskningsrader som anger ingången, sessionen och korrekturrundan som stängdes. Loggen är append-only: det går inte att uppdatera eller radera i något sammanhang, och historiken överlever ett raderat konto. En raderad arbetsyta exporteras, markeras som raderad och rensas efter 30 dagar, medan historiken sparas utan identifierande uppgifter.
Vad som skrivs när en kund fattar ett beslut
Ett beslut från kundportalen skriver tre saker i en och samma transaktion. En beslutsrad på godkännandet med utslaget - godkänt eller ändringar begärda - kommentaren, aktörstypen portal och inget användar-ID. En granskningsrad med studions egen terminologi som säger att godkännandet godkändes eller att ändringar begärdes, tillsammans med kommentaren. Och själva godkännandet markeras som beslutat med tillhörande tidpunkt.
När skrivningen är säkrad registrerar en andra granskningsrad att beslutet kom via kundportalen: vilken ingång, vilken session och vilken korrekturrunda det gällde. Först då meddelas studions medarbetare, så att ett e-postavbrott aldrig kan rulla tillbaka ett beslut, och tavlan flyttas enligt arbetsflödets egna regler.
Ett beslut som en producent registrerar på studiosidan skriver samma rader med producentens användar-ID och aktörstypen användare. De två är aldrig samma rad, vilket är det som gör att studion med säkerhet kan säga om kunden tryckte på knappen eller om studion gjorde det på kundens begäran.
Vilken version
Frågan om version besvaras av korrekturrundan. En runda är en granskning av en version, som öppnas en gång och stängs en gång av exakt ett beslut, och som aldrig återöppnas. När kunden fattar ett beslut från kundportalen och godkännandets uppgift har ett öppet granskningsrum, registreras beslutet i det rummet, och granskningsraden för portalbeslutet anger rundan. Rundan anger versionen.
Kundportalen visar själv versionsnumret för det kunden tittar på, så att kunden och studion läser samma nummer i samma ögonblick som beslutet fattas. I studions rum kan två versioner jämföras sida vid sida med kommentarer som förs över till nästa version, så att vägen från kommentaren på version två till godkännandet på version tre är läsbar från början till slut.
Vilken ingång, och vem som låg bakom den
En ingång har en etikett som studion har valt - en kund, eller en specifik person hos kunden - och en typ: kod, länk, telefon eller e-post. En ingång som kräver en engångskod via SMS eller e-post kopplar sessionen till det telefonnummer eller den adress som tog emot koden, och sändningen samt eventuella misslyckade försök loggas. Sessionen registrerar IP-adress och webbläsare, och ingången räknar hur många unika enheter som har använt den.
Så posten för ett beslut lyder: ingång 'Dana, marknad', typ e-post med engångskod, sessionen öppnad detta datum från denna adress, beslut godkänt vid denna tidpunkt på version tre. En ingång för hela kunden utan engångskod blir mindre specifik, och studion väljer vad den vill ha när ingången skapas.
Ett nekat tillträde registreras också, med orsaken - hittades inte, återkallad, utgången, engångskod krävs - vilket sparas för studion och aldrig visas vid ingången. Om en länk blir utsatt för upprepade anrop syns det i loggen innan det blir ett problem.
Append-only betyder append-only
Granskningstabellen har ingen uppdaterings- eller raderingsväg i någon del av applikationen, och en kontroll i byggprocessen avvisar kod som skulle lägga till en sådan. En skriven rad är en sparad rad. Att korrigera historiken innebär att skriva en ny rad som anger detta, precis som i en huvudbok.
Historiken överlever personerna i den. När ett användarkonto raderas tas kontots rader bort permanent, men varje granskningsrad pekar på användaren via en länk som sätts till null i stället för att raderas i kaskad, och aktörens e-postadress stämplades på raden när den skrevs. Ett år senare visar raden fortfarande vem som gjorde det.
Samma regel förhindrar att en frilansares avgång raderar studions arbete: projekt, uppgifter, kommentarer, godkännanden och filer är kopplade via en länk som nollställs vid radering, i stället för att raderas i kaskad.
Hela historiken kring ett beslut
Ett beslut är bara en rad bland många som kundportalen skriver. Historiken kring det inkluderar när ingången skapades, med dess inställningar men aldrig dess inloggningsuppgifter; när inbjudan levererades; när ingången återkallades; varje tillträde och nekat tillträde; varje skickad eller misslyckad engångskod; varje publicerad kommentar; varje uppladdad brief; varje nedladdad leverans; varje skickad påminnelse, från en person eller från systemet; och varje korrekturrunda som överskred det överenskomna antalet, med tillhörande antal rundor. En ändring av det överenskomna antalet rundor granskas med de gamla och nya värdena.
Studions sida av kundportalen listar varje ingång med när den först öppnades, senast sågs, unika enheter och antalet registrerade kundgodkännanden. Den tabellen läses från samma rader; det är inte en sekundär källa som skulle kunna visa något annat.
- Beslut: utslag, kommentar, aktörstyp, tidpunkt, ingång, session, runda.
- Ingång: skapad, levererad, återkallad, använd, nekad med orsak.
- Kringliggande: kommentarer, uppladdningar, nedladdningar, påminnelser, överskridna rundor.
Radering, export och vad som överlever
En ägare av en arbetsyta kan exportera allt som arbetsytan äger till en enda fil från inställningsskärmen, och kan radera arbetsytan eller sitt eget konto utan att fråga någon på Tasked. Raderingen sker bakom tre spärrar: arbetsytans eller kontots eget ID inskrivet, en ny återautentisering samt en bekräftelse som anger det datum då åtgärden inte längre kan ångras. Ett konto som är den sista ägaren av en aktiv arbetsyta kan inte raderas förrän detta har lösts.
Det publicerade tidsfönstret är 30 dagar. En raderad arbetsyta exporteras, markeras som raderad och förstörs permanent 30 dagar senare genom en daglig rensning. Samma tidsfönster anges i villkoren, integritetspolicyn och personuppgiftsbiträdesavtalet, och ett test i byggprocessen misslyckas om koden och de publicerade meningarna någonsin skulle skilja sig åt. Exporten är en zip-fil som hämtas via en signerad länk som är giltig i fem minuter.
Granskningshistoriken överlever raderingen, rensad på identifierande uppgifter, så att det som hände fortfarande kan visas. Det är det som är värdet med historiken: det godkännande som en kund ifrågasätter om ett år finns fortfarande kvar, med information om vem, när, vilken version och vilken ingång, oavsett om någon av de inblandade fortfarande har ett konto eller inte.
Vanliga frågor
- Kan en godkännandepost redigeras eller raderas?
- Nej. Granskningsloggen har ingen uppdaterings- eller raderingsväg i applikationen, och en kontroll i byggprocessen avvisar kod som skulle lägga till en sådan. En korrigering görs genom en ny rad.
- Visar historiken vilken version som godkändes?
- Ja. Beslutet anger vilken korrekturrunda det stängde, och en runda är en granskning av en version. Kunden ser också versionsnumret på sidan som de fattar beslutet från.
- Vad visar historiken om vem som fattade beslutet?
- Ingångens etikett och typ, om en engångskod krävdes och till vilket telefonnummer eller e-postadress, sessionens IP-adress och webbläsare, samt om beslutet kom från kundportalen eller registrerades av en studiomedlem med dennes användar-ID.
- Vad händer med historiken om studion raderar sin arbetsyta?
- Arbetsytan exporteras, markeras som raderad och rensas efter 30 dagar. Revisionshistoriken sparas längre än så, utan identifierande uppgifter.
- Kan vi få en kopia av vår data?
- Ja. En ägare av arbetsytan begär en export från inställningarna och laddar ner zip-filen via en signerad länk. Ingen begäran till Tasked behövs.