De korte versie
Scissor Image krijgt je foto's nooit. Als je een tool opent, downloadt je browser de website en een afbeeldingsengine. Als je een bestand kiest, decodeert de browser het tot pixels in het geheugen van je tabblad, verwerkt de engine ze op je eigen processor en krijg je het resultaat terug als download. Het tabblad sluiten wist alles.
Wat waar draait
Het decoderen (lezen van JPG, PNG, WebP, AVIF en, in Safari, HEIC) doet je browser, op dezelfde manier als waarmee hij afbeeldingen op elke pagina toont.
De afbeeldingsengine die afbeeldingen omzet, verkleint, bijsnijdt, draait, comprimeert tot een doelgrootte en metagegevens verwijdert, is geschreven in Rust, met de opensourcebibliotheek image, en gecompileerd naar WebAssembly. Hij draait in een achtergrondworker zodat de pagina soepel blijft.
De server host alleen de bestanden van de site. Hij heeft geen uploadpunt voor afbeeldingen, dus er is niets dat er een zou kunnen ontvangen. Een kleine klantenservice op hetzelfde domein ontvangt alleen wat je zelf kiest te sturen, zoals feedback of een aanmelding voor de wachtlijst, plus anonieme paginatellingen.
Controleer het zelf
Open de ontwikkelaarstools van je browser, ga naar het tabblad Netwerk en gebruik een willekeurige tool. Je ziet de eigen bestanden van de pagina laden, kleine anonieme paginatellingsverzoeken naar /_care/ en geen enkel verzoek met je afbeelding erin. Je kunt ook de internetverbinding verbreken nadat de pagina is geladen: alle tools blijven werken.
De site stuurt ook een strikte Content Security Policy mee die je browser opdraagt de pagina geen contact met andere servers te laten maken, dus zelfs een fout in onze code zou je foto's nergens anders naartoe kunnen sturen.
Werkt offline, installeert als een app
Na je eerste bezoek bewaart een service worker de site en de engine in de cache van je browser, zodat de tools zonder verbinding openen en werken. Kies in Chrome of Edge Installeren in de adresbalk. Kies in Safari Toevoegen aan Dock (Mac) of Zet op beginscherm (iPhone en iPad).