Verifiera det själv

signed by Lollyverify-yourself.htmlHTMLAI generatedgenerated by GeminiKontrollera självGet the signed filepixels, not shapes10 KB

Lollys sidor om integritet och säkerhet gör påståenden: ingen analys, ingen spårning, filer lämnar aldrig enheten, en enda cookie i hela systemet. Den här sidan är annorlunda: den ber dig inte tro på något av det. Det är en lista med procedurer, var och en med det exakta kommandot eller klickvägen och resultatet du kommer att se. Varje påstående här går att motbevisa på några minuter, de flesta utan att installera något.

Om någon kontroll på den här sidan inte ger det visade resultatet är det antingen en bugg eller ett brutet löfte. Rapportera det oavsett, så behandlar vi det med den allvarlighetsgrad ett brutet löfte förtjänar.

Se det fungera, på tio sekunder

Före procedurerna, belöningen. Öppna /verify och släpp en fil på den - ingen uppladdning, inget konto, ingen väntan på en server. Här är den och kontrollerar den genererade Queensland-stormen från vår AI-ståndpunktssida: en Gemini-bild som Lolly öppnade, ändrade storlek på och exporterade. Varje badge nedan beräknades på enheten, från filens egna byte.

Verify på en skärm i telefonbredd - stormbilden, ett grönt Made with Lolly-utlåtande och badgarna för intakt uppgift och oförändrade byte staplade under densigned by Lollyvector SVGAI generatedKontrollera självGet the signed file147 paths~9.4k nodes72 groups2 images254 KBVerify på en skärm i telefonbredd - stormbilden, ett grönt Made with Lolly-utlåtande och badgarna för intakt uppgift och oförändrade byte staplade under densigned by Lollyvector SVGAI generatedKontrollera självGet the signed file147 paths~9.4k nodes72 groups2 images254 KB

Utlåtandet är inte en enda badge utan en liten hög av dem, var och en ett oberoende faktum:

Och hela historiken följer med filen. Nio steg överlever här - fem som Google registrerade när den genererade och vattenmärkte bilden, sedan fyra som Lolly registrerade när den öppnade, märkte och konverterade kopian på den här sidan - lästa rakt ur byten, på din enhet, och återgivna som en tidslinje. Det här är samma bild, verifierad på samma sätt, som C2PA-tidslinjen på AI-ståndpunktssidan.

Ändringshistoriken Verify läser tillbaka ur stormbilden - fem steg registrerade av Google, sedan fyra av Lolly, som slutar i webp-filen på den här sidansigned by Lollyvector SVGKontrollera självGet the signed file71 paths~8.9k nodes78 groups111 KBÄndringshistoriken Verify läser tillbaka ur stormbilden - fem steg registrerade av Google, sedan fyra av Lolly, som slutar i webp-filen på den här sidansigned by Lollyvector SVGKontrollera självGet the signed file71 paths~8.9k nodes78 groups111 KB

Inget av det är dock själva förtroendeutfästelsen - det är demot. Resten av den här sidan är förtroendeutfästelsen: varje märke ovan är reproducerbart, och här är hur du reproducerar garantierna bakom dem.

I din webbläsare, inga verktyg krävs

1. Titta på nätverket. Öppna lolly.tools, öppna webbläsarens DevTools (F12), växla till fliken Network och använd ett verktyg - skriv in en URL i QR Code, byt färger, exportera en PNG. Alla förfrågningar stannar på lolly.tools: appskalet, verktygets egna filer, katalogtillgångar. Ingen analyshost, ingen CDN-beacon, ingen typsnittstjänst, ingen "felrapporterings"-endpoint. Det du skriver in i ett verktyg dyker upp i ingen förfrågan alls - renderingen är lokal.

De ärliga undantagen - vart och ett opt-in, användarinitierat och synligt i samma Network-flik när det sker: att lägga till ett Google Font i varumärkesredigeraren hämtar den enda familjen från Google, efter en samtyckesdialog som talar om exakt det, en gång, innan den första hämtningen; att klicka på en ICC-tryckprofil-förinställning hämtar den profilen från ICC:s offentliga register på color.org; att spela den valfria inbyggda radion strömmar från stationen; att ange en plats i Meeting Planner slår upp den platsen hos open-meteos geokodningstjänst för dess koordinater och tidszon, en gång per stad (svaren sparas på din enhet), och fältet bär den upplysningen precis där du skriver; och URL Screenshot laddar med nödvändighet den URL du skrev in - det är dess uppgift, och du ser det hända. Ett verktyg som deklarerar en nätverksfunktion får bara hämta från de hostar dess manifest tillåtlistar, och den mekanismen är fail-closed; inget verktyg som levereras för närvarande deklarerar en sådan, så den webbläsarframtvingade Content-Security-Policy:n är gränsen som faktiskt håller listan ovan till sina hostar. Integritetspolicyn håller den kanoniska tabellen över alla dessa; dess stående regel är att en nätverkskontakt som inte finns med i den tabellen inte sker.

2. Dra ur kontakten. Ladda appen och öppna ett verktyg eller två, gå sedan offline - flygplansläge, eller DevTools → Network → Offline. Ladda om. Galleriet och varje verktyg du har öppnat fortsätter fungera, inklusive rendering och export i de format du har använt - ett verktygs filer och ett formats kodare cachas första gången du använder dem, så kör ett verktyg en gång online innan du testar det offline. Detta är den starkaste enskilda kontrollen på den här sidan: mjukvara som ringer hem överlever inte att sladden dras ur.

3. Räkna cookies. DevTools → Application (Firefox: Storage) → Cookies → https://lolly.tools. Listan är tom - appen sätter inga cookies. Eller klistra in document.cookie i konsolen: du får "". (Den enda cookien i hela systemet, lolly_ca_state, lever i högst tio minuter under en valfri identitetsinloggning - raderas i samma stund som inloggningen slutförs - är avgränsad till /api/ca och är HttpOnly: integritetspolicyn beskriver den exakt.)

4. Läs din egen lagring. Samma Application-panel: allt Lolly sparar går att inspektera framför dig - ett par dussin enkla localStorage-nycklar (tema, språk, sidopanelens bredd, ljud- och visningsinställningar, plus en cachad kopia av det offentliga verktygskatalogindexet), och dina egna dokument i IndexedDB. Varje värde är en läsbar sträng eller JSON - inget är förvanskat, inget är kodat för att avskräcka från att läsa det. Profile → Clear all my data raderar det; det gör även att rensa webbplatsdata i webbläsaren, eftersom det inte finns någon serverkopia som kan överleva det.

5. Kontrollera att upplysningskontakten finns. /.well-known/security.txt svarar med ett kontaktblock enligt RFC 9116, inte en HTML-sida.

Från en terminal

6. Renderingsändpunkten är avstängd på lolly.tools. Den enda serverfunktion som skulle lägga användarinskrivna indata i en URL - hotlink-renderingar - är avaktiverad här tills tjänsten flyttar till organisationsägd hosting (integritetspolicyn förklarar varför):

curl -s -o /dev/null -w '%{http_code}\n' 'https://lolly.tools/tool/qr-code.svg?url=test'
# 404

Brytaren är per driftsättning (LOLLY_DISABLE_RENDER_GET=1): på lolly.art, den offentliga demoinstansen, är hotlink-renderingar medvetet aktiva, så samma test där returnerar en bild - den skillnaden är flaggan som fungerar, inte en inkonsekvens.

7. Serverytan går att räkna upp. Server Surface listar varje serversidig rutt som finns, med den stående regeln att en endpoint som inte står på den sidan inte är en del av Lolly. curl:a dem; det finns inget annat att hitta.

I källkoden

Allt ovan skulle fortfarande kunna vara teater om den driftsatta koden skilde sig från den publika koden. Så kontrollera koden - driftsättningen byggs från det publika repositoriet:

git clone --recurse-submodules https://github.com/lolly-tools/lolly.git
cd lolly

8. Ingen spårare, ingen analys-SDK, någonstans. Sök i koden som levereras - motorn, varje shell (inklusive webbläsartillägget, Tauri-bridgeöverstyrningarna och service workern), serverfunktionerna och verktygspaketen - efter de vanliga misstänkta:

grep -rn --include='*.ts' --include='*.js' --include='*.mjs' --include='*.html' \
  -e googletagmanager -e google-analytics -e posthog -e mixpanel -e hotjar \
  -e sentry.io -e segment.com -e '@vercel/analytics' \
  engine/src shells/*/src shells/chrome-extension shells/*/bridge-overrides \
  shells/web/public/sw.js services packages api community brands/*/tools
# (no output)

9. Ingen DNS-resolver från tredje part. Verifys SEAL-kontroll dirigerar aldrig uppslag genom en DNS-over-HTTPS-leverantör - webbappen har helt enkelt ingen resolver:

grep -rn --include='*.ts' --include='*.js' --include='*.mjs' \
  -e cloudflare-dns.com -e dns.google -e /dns-query \
  engine/src shells/*/src shells/chrome-extension shells/*/bridge-overrides \
  shells/web/public/sw.js services packages api community brands/*/tools
# (no output: outside this page and its built copies, the only place those
#  hostnames appear in the repo is tests/no-trackers.test.ts, the test that
#  bans them)

10. Certifikattjänsten sparar ingenting. Identitets-CA:n har ingen utfärdandelogg - inte din e-post, inte en tidsstämpel, ingen webhook. Frånvaron går att greppa:

grep -rn logIssuance services/ca api/ca
# (no output)

Framtvingat av tester, inte löften

De tre källkontrollerna ovan är inte en engångsgranskning - de är fastnaglade i testsviten, så de inte kan förfalla i det tysta. tests/no-trackers.test.ts får bygget att misslyckas om:

Kör dem själv i klonen (Node 22.18+; ingen npm install behövs för den här filen):

node --test tests/no-trackers.test.ts
# ✔ no analytics or tracking SDK appears anywhere in shipped source
# ✔ no third-party DNS-over-HTTPS resolver is contacted
# ✔ the certificate service logs no personal data
# ✔ privacy policy states a controller, a legal basis and a right to complain

Den fullständiga sviten (npm install && npm test) kör flera tusen till, inklusive de adversariella kryptografitesterna som beskrivs i Security & Verification.

Vad du inte kan verifiera utifrån - sagt rent ut

En sida som den här förtjänar förtroende genom att namnge sina egna begränsningar:

Om en kontroll misslyckas

En diskrepans mellan den här sidan och observerat beteende är en säkerhetsrapport, och vi vill uppriktigt hellre höra om den än inte: fitzy+security@suse.com, knappen Report a vulnerability på vilket lolly-tools-repositorium som helst, eller kontakten i /.well-known/security.txt. Samordnat offentliggörande och kredit till rapportören är den stående policyn - SECURITY.md har detaljerna.