Case 10
Privé vanaf het begin: de gewoonte-tracker
Gewoontes is de enige app op het platform zonder team, board of collega die meekijkt: alles hangt aan uw eigen inlog. Die keuze zit niet in een instelling die u aan- of uitzet, maar in hoe de gegevens zelf zijn opgeslagen.
Vorige versie
losse pagina, typte u zelf een e-mailadres in
Nu
module in het platform, achter dezelfde inloglink
Gedeeld met anderen
niets, geen team of board mogelijk
Laatste toevoeging
wekelijkse herinnering, met afmelden
Situatie
Waar dit begon
De eerste versie van Gewoontes was een op zichzelf staande pagina waar u zelf een e-mailadres intypte om bij uw lijst te komen, zonder verdere controle of dat adres echt van u was. Die pagina is verdwenen toen de losse tools van pAinapple werden samengevoegd tot één geheel, en Gewoontes moest opnieuw gebouwd worden op de huidige basis in plaats van simpelweg overgezet.
Elke andere app op het platform draait om een team of een bord: iemand maakt het aan, wordt beheerder, en nodigt anderen uit. Gewoontes heeft daar niets van. Er is geen bord om te delen en niemand om uit te nodigen, alleen een lijst gewoontes die aan één persoon hangt.
Beslissing
Wat we besloten, en waarom niet anders
Voor elke andere app bestaat er tussen een gebruiker en zijn gegevens een team of bord dat bepaalt wie waar bij mag. Voor Gewoontes hebben we die tussenstap weggelaten: elke gewoonte hangt rechtstreeks aan de inlog van de eigenaar, zonder team, board of uitnodiging ertussen. Dat maakte Gewoontes de eerste module op het platform waarvan rijen alleen op basis van wie u bent worden gefilterd, in plaats van op basis van wat u mag zien binnen een gedeelde ruimte.
In de praktijk betekent dat: elke gewoonte in de database draagt een verwijzing naar precies één gebruiker, en elke plek in de code die gewoontes ophaalt, wijzigt of verwijdert, doet dat met exact die verwijzing als filter. Een gewoonte van een ander opvragen geeft dezelfde melding als een gewoonte die niet bestaat: de code maakt geen onderscheid tussen "bestaat niet" en "is niet van u". Er is geen lijstfunctie die over alle gebruikers heen kijkt, dus ook een toekomstige fout in een andere module kan niet per ongeluk bij een gewoonte van iemand anders uitkomen: die weg bestaat simpelweg niet. Zelfs het overzicht dat pAinapple zelf gebruikt om te zien hoeveel teams en borden er per app zijn aangemaakt, heeft niets om over Gewoontes te tonen: er is geen board-achtig object dat het kan tellen.
Ook het afvinken zelf volgt dat principe: een dag telt als gedaan zodra er een rij voor die dag bestaat, en ontvinken verwijdert die rij weer in plaats van een vinkje om te zetten. Er is dus nergens een verborgen geschiedenis van eerder afgevinkte, later teruggedraaide dagen: wat er niet meer is, is uit de gegevens verdwenen, niet alleen uit het scherm.
Verloop
Wat er gebeurde, in volgorde
11 september 2026, 13:06
Opnieuw gebouwd, geen overzetting
Gewoontes kwam terug als module binnen het platform: dezelfde inloglink als de rest, eigen tabellen die rechtstreeks aan de gebruiker hangen, en een nieuwe pagina in de huisstijl van de site. Aanmaken, hernoemen en archiveren van een gewoonte, per-dag afvinken, de reeks per gewoonte en in totaal, en de vergelijking met vorige week kwamen mee uit de oude versie. Labels en een maandoverzicht kwamen bewust niet mee.
11 september 2026, 16:01
Het vinkje dat niemand kon zien
Het knopje om vandaag af te vinken was op het donkere paneel vrijwel onzichtbaar, terwijl de reeks van veertien dagen eronder dezelfde actie al veel groter aanbood. Het losse knopje is weggehaald: elk dagvakje in de reeks is nu zelf de knop, met rand en tekst die ook onaangevinkt goed leesbaar zijn, een naam voor de dag van de week en het dagnummer erbij, en 'vandaag' als onderschrift zodat die dag niet verdwijnt tussen de andere twaalf.
15 september 2026, 08:49
Een seintje voor wie het uit het oog verliest
Wie een actieve gewoonte heeft maar vijf dagen niets heeft afgevinkt, krijgt voortaan elke maandagochtend een korte e-mail met een link terug naar de app. Wie dat niet wil, kan zich afmelden via een link die geen inlog vraagt; die keuze wordt onthouden totdat iemand hem zelf weer omzet. Iemand die zich al heeft afgemeld, wordt bij elke volgende week overgeslagen.
Privacy-by-design is geen instelling die u achteraf aanzet, het is een gegevensmodel waarin een andere gebruiker zien structureel niet kan, ook niet per ongeluk.
Bij de meeste apps is afscherming een regel die ergens wordt gecontroleerd: mag deze gebruiker dit team zien, hoort deze rol bij dit bord. Die regel kan kloppen en toch een keer worden vergeten in een nieuwe route. Bij Gewoontes bestaat die vraag niet: er is geen gedeelde ruimte waarover zo'n regel zou moeten waken, dus is er ook niets te vergeten.
Dat is precies waarom het kleine, terloopse verhaal is: geen aparte beveiligingsmaatregel, geen extra toestemmingsscherm, alleen een datamodel dat vanaf de eerste regel code één gebruiker per rij kent. De wekelijkse herinnering erna volgt hetzelfde soort terughoudendheid: hij bestaat niet om iemand aan het gebruiken te houden, maar om stil te blijven zodra iemand dat zelf vraagt.
Volgende stap
Zo'n verhaal, maar dan uw eigen
Persoonlijke gegevens die nooit bij een ander terecht kunnen komen, zijn geen extra functie die u achteraf laat inbouwen. Als dat vanaf de eerste regel code moet kloppen, is dat precies het soort keuze om vooraf te bespreken.