Bestandsopslag
Provider
Section titled “Provider”Alle bestanden worden opgeslagen in Supabase Storage. Dit is S3-compatibele object storage, geïntegreerd met de Supabase RLS policies.
Buckets
Section titled “Buckets”| Bucket | Inhoud | Toegang |
|---|---|---|
dog-photos | Profielfoto’s van honden | Klant (eigen honden), Admin (alles) |
vaccination-documents | Vaccinatiebewijzen (PDF, afbeelding) | Klant (eigen honden), Admin (alles) |
invoice-pdfs | Gegenereerde factuur PDFs | Klant (eigen facturen), Admin (alles) |
Naamgeving bestanden
Section titled “Naamgeving bestanden”dog-photos/ {dog_id}/profile.{ext}
vaccination-documents/ {dog_id}/{vaccination_id}.{ext}
invoice-pdfs/ {client_id}/{invoice_id}.pdfToegangsbeleid
Section titled “Toegangsbeleid”Bestanden zijn niet publiek toegankelijk. Toegang verloopt via signed URLs met een beperkte geldigheid.
// Signed URL genereren voor vaccinatiebewijs (geldig 1 uur)const { data } = await supabase.storage .from('vaccination-documents') .createSignedUrl(`${dogId}/${vaccinationId}.pdf`, 3600);Upload limieten
Section titled “Upload limieten”| Type | Max bestandsgrootte | Toegestane formaten |
|---|---|---|
| Hondenfoto | 5 MB | JPG, PNG, WEBP |
| Vaccinatiebewijs | 10 MB | PDF, JPG, PNG |
Retentiebeleid
Section titled “Retentiebeleid”| Type | Bewaartermijn | Toelichting |
|---|---|---|
| Factuur PDFs | 5 jaar | Wettelijke verplichting Aruba |
| Vaccinatiebewijzen | Geen vaste termijn | Document mag worden overschreven bij nieuwe upload. De vervaldatum (expiry_date) in de vaccinations tabel blijft bewaard zodat het systeem klanten kan herinneren aan een nieuw bewijs |
| Hondenfoto’s | Zolang account actief is | Verwijderd bij accountverwijdering |
Facturen en bijbehorende data (regels, bedragen, belastingen) worden nooit automatisch verwijderd. Bij accountverwijdering blijven factuurrecords en PDFs bewaard tot de wettelijke termijn van 5 jaar is verlopen.