SnapDF

Waarom lokale verwerking en WebRTC je privacy beschermen

Een blik op de architectuur van SnapDF en waarom wij bewust kozen tegen cloudopslag.

Het probleem met traditionele online scanners

Bij veel online tools om documenten te scannen, bij te snijden of om te zetten naar PDF gebeurt achter de schermen iets risicovols: je maakt een foto op je telefoon en die wordt geüpload naar een externe cloudserver.

Ook al zijn die servers vaak goed beveiligd, je privacygevoelige documenten (paspoort, loonstroken, belastingbrieven, getekende contracten) staan dan, al is het tijdelijk, op systemen van derden. Bij Jammo Digital, de ontwikkelaars van SnapDF, vonden we dat dit anders moest.

Peer-to-peer (WebRTC): versleuteld, zonder opslag

SnapDF gebruikt WebRTC (Web Real-Time Communication), een open webstandaard waarmee browsers rechtstreeks met elkaar communiceren zonder dat de data via een centrale server hoeft te lopen.

  • Hoe het werkt: als je de QR-code scant, wordt een beveiligde, directe verbinding (een DataChannel) opgezet tussen je smartphone en je computer.
  • Directe overdracht: druk je op de opnameknop, dan gaat de foto in de regel rechtstreeks van je telefooncamera naar het geheugen van je computer. Geen enkele server slaat de foto op.
  • Versleuteld: WebRTC versleutelt de verbinding standaard (DTLS). Alleen je telefoon en je computer, de twee uiteinden, kunnen de foto lezen.
  • Koppelen: om de twee apparaten met elkaar in contact te brengen gebruiken we PeerJS (signalering) en een STUN-server van Google, die helpt uitzoeken hoe de apparaten elkaar kunnen bereiken. Daarover lopen verbindingsgegevens zoals IP-adressen, nooit je foto's.
  • Terugval via een relay: lukt een directe verbinding niet, bijvoorbeeld door een strikte firewall, dan kan het verkeer via een TURN-relay lopen. Omdat de verbinding end-to-end versleuteld is, kan ook die relay de foto niet lezen.

Lokale Canvas-verwerking en jsPDF

Niet alleen de overdracht is lokaal; ook het bewerken en het genereren van het bestand gebeurt op je eigen apparaat:

  • HTML5 Canvas: het rechttrekken van de hoeken en het toepassen van filters (zoals zwart-wit of Doc-Boost) wordt uitgevoerd door de processor van je eigen computer via de Canvas API van je browser.
  • jsPDF: het PDF-document wordt lokaal samengesteld. Klik je op ‘Download PDF’, dan wordt het bestand direct in je browser gegenereerd.
  • Zero footprint: sluit je het tabblad, dan is alle tijdelijke data uit het werkgeheugen verdwenen.

De visie van Jammo Digital

Bij de ontwikkeling van SnapDF stond één kernwaarde centraal: gebruiksgemak mag nooit ten koste gaan van privacy. Met slim gebruik van moderne browsertechnologie heb je geen zware cloudinfrastructuur nodig voor professionele resultaten. Zo blijft je administratie van jou.

Vragen of contact

Heb je technische vragen over onze P2P-architectuur of wil je meer weten over de achtergrond van dit project? Bezoek de website van de ontwikkelaar:

Jammo Digitaljammo.nl