Skip to content
Het fundament eronderDeveloper platform

Privébestanden

Bestanden gaan rechtstreeks naar private opslag, en elke byte wordt gecontroleerd.

Een documentbijlage, een formulierupload of een gegenereerde export gaat van de browser naar private opslag zonder langs de applicatieserver te komen. De server ondertekent eerst een kortlevende link en vergelijkt daarna de opgeslagen grootte en vingerafdruk met wat er is opgegeven. Alleen bij een match wordt het bestand te downloaden, en elke downloadlink is kortlevend en gecontroleerd op rechten.

0public file linksSHA-256fingerprint checked before a file goes live10 minbefore an upload link expires

Productvoorbeeld

Bekijk het in werking

Dit is hetzelfde visuele component als in de ingelogde applicatie, met voorspelbare voorbeelddata.

Scenario
Voorbeeldscherm
Thema van voorbeeldoppervlak
Voorbeeldmodus

Private object available

The metadata, its classification, the download link and the durable deletion controls.

Inerte voorbeelddata · geen netwerktoegang

Upload a file

Editors can upload files up to 5 GiB. Files stay private, and each upload is checked before it becomes available.

Drag and drop a file here, or choose a fileMax size 5 GB · One file
Data classification
Choose how sensitive the file is. This label stays with the file.

Stored objects

1 object

Files stored in this workspace right now. Downloads use a short-lived signed link.

board-update.pdfAvailable
2.7 MiBConfidentialAdded

Retention and deletion

Check which files are waiting for deletion and when stored files expire.

Deletion is queued, not immediate
Deletion runs in the background. We retry until the storage provider confirms removal and keep a record of the result.
0
Deletions that ran out of retries
These files stay in the list so an editor can retry deleting them.
0
Files with an expiry date
An object with an expiry date is removed automatically once it passes.
0

Voorbeeld gereed

Kernpunten

Waarom dit belangrijk is

Private by default

Every object lives under its own organization key, and all access runs through short-lived, permission-checked links. There are no public URLs.

Verified before visible

After the upload the server asks the provider for the real size and fingerprint and compares them to what was declared. A mismatch is quarantined instead of published.

Deletion you can see

Deleting hides the object at once, then a retrying job removes the bytes. If the provider keeps refusing, the object is flagged as failed rather than left to linger unnoticed.

Het probleem dat dit oplost

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

Uploads that go through the app server

Streaming a large file through the application burns memory until requests time out. Letting the browser write straight to a bucket usually skips the permission check. Here the server approves first and the bytes still go direct.

The file that is not what it claimed

An upload is cut off halfway, or the bytes differ from what was declared. Without a settlement step the broken file becomes downloadable. A mismatch here means quarantine, never availability.

Files that are deleted only on paper

A delete that fails silently leaves bytes we are still paying for, and worse, bytes marked as gone that are not. A failed deletion here surfaces with its last error for a person to act on.

Hoe het werkt

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

  1. 1

    Ask for an upload link

    The server checks your role plus the declared name, type, size and fingerprint, then returns a signed link valid for ten minutes.

  2. 2

    The browser uploads directly

    The file goes from the browser to the storage provider with progress reporting. The application server never handles the bytes.

  3. 3

    The server verifies

    After the upload the server reads the object’s real size and fingerprint from the provider. A match makes it available, a mismatch quarantines it and fails the confirmation.

  4. 4

    Deletion is a job, not a wish

    Deleting removes the object from listings immediately, then a retrying job removes the bytes. Persistent failures are flagged for the control center.

Technische garanties

Wat dit wel en niet belooft

Veiligheidsgrens

Het certificeringsbewijs draait tegen een wegwerpbare lokale S3-compatibele provider, niet tegen de gehoste. Bonnen en factuurbijlagen bij finance zijn op dit onderdeel gebouwd, maar hun resource is nog concept, dus die uploadroute blijft dicht tot hij gecertificeerd is.

Implementatiebewijs

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

  • src/features/storage/server.ts
  • src/features/storage/jobs.ts
  • src/features/storage/browser-upload.ts
  • .resource-certifications/storage.json
Vragen

Veelgestelde vragen

Waar Privébestanden op rust

De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.