ProofSnap API

Informatie­beveiliging van de ProofSnap API: data in de EU

Stand van zaken in oktober 2026: de ProofSnap API legt webpagina's vast op servers in de EU (AWS Frankfurt), bewaart elk bewijspakket versleuteld (AES-256) en maakt van pakketten uit de productiemodus een back-up in Ierland. Elk pakket wordt verzegeld met SHA-256-hashes en een RSA-4096-handtekening, 10 jaar bewaard en beschermd door toegangscontrole. Een verwerkersovereenkomst vraagt u per e-mail aan.

Bijgewerkt op

Door Radim Motycka, oprichter en technisch directeur van ProofSnap. Hij heeft de API en de hier beschreven beveiliging gebouwd.

Wat er met uw gegevens gebeurt bij een vastlegging

Een vastlegging via de ProofSnap API of in het dashboard doorloopt vijf stappen:

  1. U geeft via HTTPS een URL op, met de API (en uw API-sleutel) of in het dashboard.
  2. Een browser op de servers van ProofSnap in Frankfurt laadt de pagina. Die browser maakt alleen verbinding met openbare adressen. In de productiemodus gaat de URL ook naar het Internet Archive, tenzij u dat uitschakelt.
  3. Van elk bestand wordt een SHA-256-hash berekend en het manifest wordt ondertekend. Alleen de hash van het manifest gaat naar de kalenders van OpenTimestamps en, als u een gekwalificeerde tijdstempel aanvraagt, naar Disig a.s.
  4. Het verzegelde pakket wordt versleuteld opgeslagen in Frankfurt, en pakketten uit de productiemodus krijgen een tweede kopie in Ierland.
  5. Zodra het pakket klaar is, downloadt u het of ontvangt u een ondertekende webhook.

Waar de gegevens worden opgeslagen

API
Amazon Web Services in de EU, Frankfurt (eu-central-1).
Account- en vastleggingsgegevens
Google Cloud Firestore in de EU, Frankfurt (europe-west3).
Inloggen
Firebase Authentication, een wereldwijde dienst van Google.
Bewijspakketten
Amazon S3 in de EU, Frankfurt (eu-central-1). Elk pakket uit de productiemodus heeft een tweede kopie in Ierland (eu-west-1).

Wat buiten de EU wordt verwerkt

Bewijspakketten en vastleggingsgegevens blijven in Frankfurt en Ierland. Diensten buiten de EU kunnen alleen de volgende gegevens verwerken:

Vastleggen op de server

De pagina wordt geladen en vastgelegd op de servers van ProofSnap, niet op uw computer. U geeft een URL op en ontvangt een verzegeld bewijspakket. De browser die de pagina vastlegt, maakt alleen verbinding met openbare adressen: private IP-adressen, loopbackadressen en adressen van metadatadiensten in de cloud worden geweigerd, ook na een doorverwijzing.

Standaard gaat de URL van een vastlegging in de productiemodus ook naar het Internet Archive (web.archive.org), zodat er een onafhankelijke openbare kopie kan ontstaan. URL's die er privé uitzien (bijvoorbeeld links om in te loggen, een wachtwoord opnieuw in te stellen of iets te delen) of een token bevatten, worden nooit verstuurd, en een URL met queryparameters wordt alleen verstuurd als u de vastleggingsparameter external_archive op true zet. Zet die op false om het archiveren volledig uit te schakelen. Het resultaat van het archiveren wordt in het pakket vastgelegd.

Hoe elk pakket wordt verzegeld

Hashes
Van elk bewijsbestand in het pakket wordt een SHA-256-hash berekend, die in het bestand manifest.json wordt opgenomen.
Handtekening
Het bestand manifest.json wordt ondertekend met een RSA-4096-sleutel die alleen voor dit pakket is aangemaakt. Na het ondertekenen wordt de privésleutel verwijderd en wordt de openbare sleutel aan het pakket toegevoegd.
Tijdstempel in de Bitcoin-blockchain
De hash van het manifest wordt naar de kalenders van OpenTimestamps gestuurd om in de Bitcoin-blockchain te worden verankerd. Zodra de verankering is bevestigd, wordt het volledige tijdstempelbewijs bij het pakket bewaard. Kan het tijdstempelbewijs niet worden toegevoegd, dan wordt dat in het pakket vermeld.
Gekwalificeerde tijdstempel
Op uw verzoek (alleen met API-sleutels voor productie; elke tijdstempel wordt in rekening gebracht) vraagt ProofSnap een gekwalificeerde elektronische tijdstempel (RFC 3161) aan bij Disig a.s., een gekwalificeerde verlener van vertrouwensdiensten op de EU-vertrouwenslijst. Als de tijdstempel niet kan worden toegevoegd, wordt dat in het pakket vermeld.
Offline verifiëren
Elk pakket bevat verificatiescripts (verify.sh voor macOS en Linux, verify.ps1 voor Windows), waarmee u het offline en onafhankelijk van ProofSnap kunt verifiëren.

Register van uitgegeven pakketten

ProofSnap legt de hashes van de manifesten die het uitgeeft vast in een register. Iedereen kan een hash controleren met GET /v1/ledger/{hash}; staat de hash in het register, dan is bevestigd dat ProofSnap precies dit pakket heeft uitgegeven. De details van het endpoint staan in de API-documentatie.

Back-up in een tweede EU-regio

Elk bewijspakket uit de productiemodus wordt gekopieerd naar een aparte opslagbucket van Amazon S3 in een andere EU-regio (Ierland). De kopie ontstaat binnen enkele minuten na het aanmaken van het pakket, en het endpoint GET /v1/captures/{id} toont per vastlegging de status van die kopie. De kopie wordt samen met het origineel verwijderd. Pakketten uit de testmodus worden niet gekopieerd.

Bewaartermijn

Bewijs wordt 10 jaar bewaard vanaf de datum van vastlegging. Bij een pagina die volgens een schema wordt vastgelegd, loopt de termijn vanaf het moment waarop voor het laatst is vastgesteld dat de vastgelegde versie nog actueel is:

Na het einde van uw abonnement hebt u 30 dagen om al uw gegevens te downloaden. Met het abonnement Archive only blijft uw bewijs leesbaar, downloadbaar en verifieerbaar, ook als u geen nieuwe vastleggingen meer maakt.

Verwijderen

Een pakket dat u in het dashboard of via de API verwijdert, gaat eerst naar de prullenbak, waaruit u het binnen 30 dagen kunt herstellen. Daarna worden alle opgeslagen versies uit beide kopieën verwijderd. Kiest u voor definitief verwijderen, dan wordt het pakket meteen verwijderd. Na afloop van de bewaartermijn, of van de 30 dagen waarin u de gegevens van uw account kunt downloaden, worden alle opgeslagen versies op dezelfde manier verwijderd. Een vastlegging onder legal hold kan niet worden verwijderd zolang de legal hold geldt. Wie het pakket wanneer heeft verwijderd, wordt vastgelegd; de inhoud zelf wordt niet bewaard.

Wie toegang heeft tot vastleggingen

API-sleutels
De volledige sleutel wordt alleen als SHA-256-hash opgeslagen en maar één keer getoond, bij het aanmaken. Een ingetrokken sleutel werkt binnen 60 seconden niet meer. Bij het abonnement Website Archive zijn API-sleutels alleen-lezen: u kunt er vastleggingen mee bekijken, downloaden en verifiëren en webhookabonnementen beheren. Vastleggingen en schema's start u bij dit abonnement in het dashboard.
Inloggen op het dashboard
Firebase Authentication. Voordat u sleutels aanmaakt, vastleggingen start of een abonnement koopt, moet u uw e-mailadres bevestigen.
Toegangsgeschiedenis
Wanneer een vastlegging wordt gedownload, geverifieerd of op een andere manier geopend door iemand anders dan de maker, bijvoorbeeld de eigenaar van een bedrijfsaccount of iemand die aan een zaak is toegewezen, wordt dat in de geschiedenis van de vastlegging vermeld.
Verzoeklimieten
Vastleggingen, certificeringen en andere betaalde verzoeken vallen onder een limiet per account (rate limit), die voor alle sleutels van dat account samen geldt.

Versleuteling bij opslag en transport

Tijdens transport
Al het verkeer van de API, het dashboard en de webhooks loopt via HTTPS (TLS).
Bij opslag
Bewijspakketten zijn in beide opslagbuckets versleuteld met AES-256 (versleuteling aan de serverzijde van Amazon S3). In beide buckets is alle openbare toegang geblokkeerd.

Webhooks: ondertekening en bestemmingen

Ondertekening
Webhookleveringen worden volgens de specificatie Standard Webhooks ondertekend met HMAC-SHA256. Leveringen aan een webhook_url die in het verzoek of in het schema is ingesteld, worden ondertekend met het webhook-secret van de API-sleutel waarmee dat adres is ingesteld. Dit secret kunt u vervangen met een overgangsperiode van 24 uur. Een webhookabonnement op accountniveau heeft een eigen webhook-secret voor ondertekening, dat maar één keer wordt getoond, bij het aanmaken van het abonnement.
Bestemmingen
Webhooks gaan alleen naar openbare HTTPS-endpoints. De hostnaam wordt voor elke levering opnieuw omgezet en gecontroleerd, en de verbinding wordt alleen met het gecontroleerde IP-adres gemaakt, zodat private IP-adressen, loopbackadressen en adressen van metadatadiensten in de cloud ook na een wijziging van DNS-records worden geweigerd. Doorverwijzingen worden niet gevolgd.

Webhooks: herhaalpogingen en abonnementen

Herhaalpogingen
Eindigt een levering in een time-out, een verbindingsfout of een foutcode (anders dan 410 Gone), dan wordt die tot 5 keer opnieuw geprobeerd binnen ongeveer 35 uur (na 5 min, 30 min, 2 uur, 8 uur en 24 uur), met dezelfde webhook-id, zodat de ontvanger dubbele leveringen kan negeren. Bij elke poging wordt maximaal 10 seconden op een antwoord gewacht.
Downloaden
Herhaalde leveringen en leveringen van een webhookabonnement bevatten niet de downloadlink die 24 uur geldig is. De ontvanger kan een nieuwe opvragen met GET /v1/captures/{id}.
Webhookabonnementen
Een webhookabonnement op accountniveau wordt uitgeschakeld als het endpoint 410 Gone teruggeeft, na 5 dagen zonder geslaagde levering of, als het met een API-sleutel is aangemaakt, wanneer die sleutel wordt ingetrokken. Gebeurtenissen worden 30 dagen bewaard en zijn op te vragen met GET /v1/events.

Externe diensten

Betalingen
Betalingen worden verwerkt door Stripe. ProofSnap slaat geen kaartnummers op.
E-mails over uw account
Berichten om uw e-mailadres te bevestigen en links om uw wachtwoord opnieuw in te stellen worden verstuurd via MailerSend.
Tijdstempels
De kalenders van OpenTimestamps en, bij een gekwalificeerde tijdstempel, Disig a.s. ontvangen alleen de hash van het manifest, nooit het bewijs zelf.
DNS- en WHOIS-opvragingen
Om de vastgelegde website te documenteren, wordt de hostnaam via Google Public DNS en Cloudflare DNS omgezet en worden de registratiegegevens van het domein opgevraagd bij openbare RDAP- en WHOIS-diensten.

Vragen, meldingen en verwerkersovereenkomst

Mail ons via support@getproofsnap.com als u vragen hebt, een beveiligingsprobleem wilt melden of een verwerkersovereenkomst wilt aanvragen. Hoe u een account aanmaakt en uw eerste vastlegging maakt, leest u in de handleiding Eerste stappen met het ProofSnap-dashboard.

Gratis beginnen met 50 testvastleggingen