Inloggen Gratis voor altijd Get started

Onveranderlijke kluis

Niets wordt ooit overschreven.

Elke andere kluis bewerkt ter plekke. Wijzig een wachtwoord en het oude is weg — geen verslag dat het ooit heeft bestaan, geen manier om te bewijzen wat vorige week dinsdag waar was. Clavitor overschrijft niet. Elke wijziging schrijft een nieuwe revisie. De geschiedenis blijft behouden. Het verslag is compleet.

Alleen toevoegen, helemaal tot onderaan.

Een credential in Clavitor is geen rij die je bewerkt. Het is een stapel revisies. Werk een wachtwoord bij en de kluis voegt een nieuwe versie in — het raakt het oude nooit aan. De nieuwste revisie is de huidige waarde; elke revisie ervoor is er nog steeds, intact, op volgorde.

01 — Schrijven

Een nieuwe revisie, elke keer

Elke update is een INSERT, nooit een UPDATE. De vermelding behoudt één stabiele identiteit; het versienummer stijgt. Het lezen van een credential retourneert de hoogste versie — dezelfde waarde die je zou verwachten — terwijl elke vorige versie precies zo blijft als hij is geschreven.

02 — Behouden

Geschiedenis voor de levensduur van de kluis

Oude revisies worden bewaard zolang de kluis bestaat. Rotatiegeschiedenis, de waarde vóór de inbreuk, het veld zoals het op een bepaalde datum was — niets daarvan wordt weggegooid. Het verleden is geen logboek waarvan je hoopt dat iemand het heeft bijgehouden. Het zijn de gegevens zelf.

03 — Verwijderen

Een 'tombstone', geen uitwissing

Het verwijderen van een credential schrijft nog een revisie die het als verdwenen markeert. De vermelding stopt met oplossen — maar het verslag dat het bestond, en wanneer het werd verwijderd, blijft bestaan. Een verwijdering die je kunt bewijzen is meer waard dan een verwijdering die geen spoor achterlaat.

Waarom het ertoe doet

De vragen die een veranderlijke kluis niet kan beantwoorden.

Wanneer elke bewerking het voorgaande vernietigt, worden hele klassen van vragen onbeantwoordbaar. Onveranderlijkheid beantwoordt ze door constructie.

"Wat was de sleutel op de dag van het incident?"

Een geroteerd geheim verdwijnt meestal op het moment dat het wordt vervangen. Hier is de waarde die live was tijdens het venster nog steeds in de kluis, op zijn versie, met de tijdstempel die het bewijst. Forensisch onderzoek stopt met archeologie te zijn.

"Wie heeft dit gewijzigd, en wat stond er eerder?"

Elke update, verwijdering, scope-wijziging en agent-wijziging schrijft een auditgebeurtenis die gekoppeld is aan de nieuwe revisie. De geschiedenis en het verslag van wie het heeft gemaakt zijn hetzelfde verhaal, op twee manieren verteld — en geen van beide kan stilletjes worden teruggedraaid. Zie het fraudebestendige auditspoor →

"Kunnen we dat gewoon ongedaan maken?"

Een slechte rotatie, een foutieve bewerking, een gecompromitteerde agent die een veld heeft overschreven — wanneer niets wordt vernietigd, is het herstellen van de vorige waarde het lezen van een eerdere versie, niet het herstellen van een back-up en hopen dat deze recent genoeg is.

"Is er iets veranderd terwijl we niet keken?"

Het kan niet stilletjes veranderen. Er is geen in-place mutatie om te missen. De huidige staat is een revisie met een nummer, een auteur en een tijdstempel — en dat geldt ook voor elke staat die eraan voorafging.

Eén principe, de hele kluis.

Onveranderlijkheid is geen functie die aan inloggegevens is vastgeplakt. Het is hoe elk record in Clavitor is opgebouwd. Je vermeldingen, het auditlog, de records van de versleutelde sleutel, de inhoud van deze pagina's — allemaal alleen toevoegen, allemaal op dezelfde manier. Er is nergens in het systeem waar de waarheid wordt overschreven.

Gedupliceerd zonder conflict

Omdat een revisie één keer wordt geschreven en nooit wordt gewijzigd, is het kopiëren ervan naar de andere kant van de planeet triviaal: een voorwaartse cursor met een expliciete bevestiging wanneer de rij landt. Geen bewerking om te verzoenen, geen conflict om op te lossen, geen "welke kopie is juist." Alleen-toevoegen-gegevens hebben precies één geschiedenis.

Ciphertext, bewaard — geen platte tekst, gelekt

De bewaarde geschiedenis is versleuteld opgeslagen, precies zoals de live waarde, met sleutels die nooit onze servers bereiken. Het bewaren van het verleden kost je niets aan blootstelling: een gestolen schijf bevat oude ciphertext en nieuwe ciphertext, beide even onleesbaar. Hoe de versleuteling werkt →

De enige uitzondering

We documenteren de enige plek waar we ter plekke stempelen.

Eerlijkheid is onderdeel van het ontwerp. Er is precies één veld dat ter plekke wordt geschreven in plaats van als een nieuwe revisie: verified_at, de markering die registreert wanneer een credential voor het laatst werkte. Het zijn gebruiksmetagegevens, geen inhoudswijziging — dus het werkt de nieuwste revisie direct bij, en elke stempel wordt zelf in het auditlog vastgelegd. We vertellen je erover omdat een ongedocumenteerde uitzondering de claim van onveranderlijkheid hol maakt. Dit is de enige.

Verwijdering, correct uitgevoerd.

Alleen toevoegen betekent niet dat je nooit vergeten kunt worden. Het betekent dat vergeten doelbewust, volledig en op het verslag gebeurt. Per-revisie 'tombstones' behandelen het alledaagse geval. Wanneer een echte uitwissing vereist is — een AVG-verzoek, een accountsluiting — is de verwijdering van de hele kluis en onomkeerbaar, uitgevoerd als een doelbewuste operatie, nooit een stille per-veld overschrijving. Je wordt nooit stilletjes bewerkt; wanneer je wordt verwijderd, word je opzettelijk en volledig verwijderd.

Een eerlijke kluis bewaart zijn geschiedenis.

Onveranderlijkheid is de helft van het verhaal. De andere helft is het verslag van wie wat heeft aangeraakt — gekoppeld, bevestigd en bewijsbaar.