Skip to content
Het fundament eronderTrust and privacy

Audittrail van de werkruimte

Wie is uitgenodigd, wiens rol veranderde, wie exporteerde, wie herstelde.

Het beheer van de werkruimte wordt naar één logboek per tenant geschreven: lidmaatschappen en rolwijzigingen, eigendomsoverdrachten, het aanmaken van projecten en organisaties, privacyverzoeken, abonnementswijzigingen, en elke herstelactie van een beheerder. Admins kunnen erin bladeren en het binnen harde grenzen exporteren, en die export wordt zelf een regel.

  • 90 days

    longest export window

  • 10,000

    record cap per export

  • 5

    kinds of actor the log can name

Het probleem dat dit oplost

Zonder een gedeelde basis bouwt elk team deze randgevallen opnieuw, en anders.

Logs that cannot agree what an actor is

When each feature invents its own log shape, the question of who removed someone from a project has no single answer. One envelope with a declared actor type, resource type and outcome makes the trail readable.

The same action recorded three times

A retried job writes a duplicate on every replay, and a trail that repeats itself stops being worth reading. A stable event ID with a conflict-do-nothing insert keeps replays quiet.

The export with no ceiling

An unlimited download eventually asks for years of rows in one request, and you find out at the worst moment. Hard caps mean an oversized request is refused with a clear reason.

Hoe het werkt

Het mechanisme van begin tot eind, zoals het in de repository is geïmplementeerd.

  1. 1

    One function writes every event

    Server code records events using types from a central registry. Anything not yet integrated throws instead of quietly writing an unusable row.

  2. 2

    Each event gets a stamped envelope

    Schema version, actor, resource, outcome and a hashed IP are added and validated before saving. A raw IP address is never stored.

  3. 3

    Admins browse their own history

    Listing checks the admin role and the plan entitlement on the server, then pages backwards with a cursor, a hundred rows at a time, scoped to one organization.

  4. 4

    Exports run inside hard limits

    Up to 90 days and 10,000 records, and an oversized request is refused with a typed error rather than attempted.

Interactief voorbeeld

Bekijk het in werking

Deze rondleiding toont het geïmplementeerde backendcontract zonder account, credentials of providercalls.

Interactief voorbeeld

Explore the decisions this makes

Kies een voorbeeldstatus
Tenant-scoped events

Alleen deterministische voorbeelddata. De interactie gebruikt geen account-, provider- of netwerkverbinding.

Kernpunten

Waarom dit belangrijk is

One writer, no duplicates

Every event goes through one function with a registry-validated envelope, and a retried job writing the same event ID becomes a no-op rather than a second line.

Admin-only, checked server-side

Only organization admins whose plan grants audit access can browse or export, verified on every call. A hidden tab is never the thing protecting the log.

Exports with limits

An export covers at most 90 days and 10,000 records, in JSON or NDJSON, and the fact that it happened is itself recorded.

Technische garanties

Wat dit wel en niet belooft

Veiligheidsgrens

Dit logboek gaat over het beheer van de werkruimte, niet over de inhoud van groeirecords. Wat een account of een besluit op een eerder moment zei, is het werk van de Time Machine, en die reconstrueert het record in plaats van te noemen wie het veranderde. De bewaartermijn is per eventtype vastgelegd; het opruimen dat die afdwingt, is een deploymentstap.

Implementatiebewijs

De grens hierboven is geen claim maar code. Deze bestanden dragen het contract:

  • src/features/enterprise/server.ts
  • src/registries/audit-events.ts
  • src/features/enterprise/contracts.ts
Vragen

Veelgestelde vragen

Waar Audittrail van de werkruimte op rust

De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.