Verifikasi Sendiri

signed by Lollyverify-yourself.htmlHTMLAI generatedgenerated by GeminiPeriksa sendiriGet the signed filepixels, not shapes10 KB

Halaman privasi dan keamanan Lolly membuat klaim: tanpa analitik, tanpa pelacakan, berkas tidak pernah meninggalkan perangkat, satu cookie di seluruh sistem. Halaman ini berbeda: halaman ini tidak meminta Anda untuk mempercayai semua itu. Ini adalah daftar prosedur, masing-masing dengan perintah atau jalur-klik yang tepat serta output yang akan Anda lihat. Setiap klaim di sini bisa dibantah dalam hitungan menit, sebagian besar tanpa memasang apa pun.

Jika ada pemeriksaan di halaman ini yang tidak menghasilkan hasil yang ditunjukkan, itu adalah bug atau janji yang dilanggar. Laporkan apa pun kasusnya, dan kami akan menanganinya dengan tingkat keseriusan yang layak diterima oleh janji yang dilanggar.

Lihat cara kerjanya, dalam sepuluh detik

Sebelum prosedurnya, inilah hasilnya. Buka /verify dan letakkan sebuah berkas di atasnya - tanpa unggah, tanpa akun, tanpa menunggu server. Berikut ini memeriksa badai Queensland yang dihasilkan dari halaman sikap AI kami: gambar Gemini yang dibuka, diubah ukurannya dan diekspor oleh Lolly. Setiap lencana di bawah dihitung di perangkat, dari byte berkas itu sendiri.

Verify di layar selebar ponsel - gambar badai, verdict hijau Made with Lolly dan lencana credential-intact serta bytes-unchanged bertumpuk di bawahnyasigned by Lollyvector SVGAI generatedPeriksa sendiriGet the signed file147 paths~9.4k nodes72 groups2 images254 KBVerify di layar selebar ponsel - gambar badai, verdict hijau Made with Lolly dan lencana credential-intact serta bytes-unchanged bertumpuk di bawahnyasigned by Lollyvector SVGAI generatedPeriksa sendiriGet the signed file147 paths~9.4k nodes72 groups2 images254 KB

Verdict-nya bukan satu lencana melainkan sekumpulan kecil lencana, masing-masing adalah fakta independen:

Dan seluruh riwayatnya ikut berpindah bersama berkas. Sembilan langkah bertahan di sini - lima dicatat Google saat menghasilkan dan memberi watermark pada gambar, lalu empat dicatat Lolly saat membuka, menandai dan mengonversi salinannya di halaman ini - dibaca langsung dari byte, di perangkat Anda, dan dirender sebagai garis waktu. Ini adalah gambar yang sama, diverifikasi dengan cara yang sama, seperti garis waktu C2PA di halaman sikap AI.

Riwayat perubahan yang dibaca kembali Verify dari gambar badai - lima langkah dicatat Google, lalu empat oleh Lolly, berakhir di WebP pada halaman inisigned by Lollyvector SVGPeriksa sendiriGet the signed file71 paths~8.9k nodes78 groups111 KBRiwayat perubahan yang dibaca kembali Verify dari gambar badai - lima langkah dicatat Google, lalu empat oleh Lolly, berakhir di WebP pada halaman inisigned by Lollyvector SVGPeriksa sendiriGet the signed file71 paths~8.9k nodes78 groups111 KB

Namun, semua itu bukan klaim kepercayaan - itu demonya. Sisa halaman ini adalah klaim kepercayaan: setiap lencana di atas dapat direproduksi, dan berikut cara Anda mereproduksi jaminan di baliknya.

Di browser Anda, tanpa alat tambahan

1. Amati jaringan. Buka lolly.tools, buka DevTools browser Anda (F12), beralih ke tab Network, lalu gunakan sebuah alat - ketik URL ke QR Code, ubah warna, ekspor PNG. Setiap permintaan tetap berada di lolly.tools: shell aplikasi, berkas alat itu sendiri, aset katalog. Tidak ada host analitik, tidak ada beacon CDN, tidak ada layanan font, tidak ada endpoint "pelaporan error". Apa yang Anda ketik ke dalam sebuah alat muncul di tidak ada permintaan sama sekali - rendering dilakukan secara lokal.

Pengecualian yang jujur - masing-masing bersifat opt-in, diinisiasi pengguna, dan terlihat di tab Network yang sama saat terjadi: menambahkan Google Font di editor brand mengambil satu keluarga font itu dari Google, setelah dialog persetujuan yang menyatakan hal itu dengan jelas, sekali, sebelum permintaan pertama; mengklik preset profil cetak ICC mengambil profil itu dari registri publik ICC di color.org; memutar radio bawaan yang opsional melakukan streaming dari stasiunnya; memasukkan lokasi di Meeting Planner mencari tempat itu di layanan geocoding open-meteo untuk koordinat dan zona waktunya, sekali per kota (jawaban disimpan di perangkat Anda), dan input tersebut membawa keterangan itu tepat di tempat Anda mengetik; dan URL Screenshot secara alami memuat URL yang Anda ketik - itu memang tugasnya, dan Anda menyaksikannya terjadi. Alat yang mendeklarasikan kapabilitas jaringan hanya boleh mengambil data dari host yang diizinkan manifesnya, dan mekanisme itu fail-closed; belum ada alat yang dirilis saat ini yang mendeklarasikannya, sehingga Content-Security-Policy yang dipaksakan browser adalah batas yang benar-benar menegakkan daftar di atas ke host-hostnya. Kebijakan privasi menyimpan tabel kanonis dari semua ini; aturan bakunya adalah sentuhan jaringan yang tidak ada di tabel itu tidak akan terjadi.

2. Cabut kabelnya. Muat aplikasi dan buka satu atau dua alat, lalu putuskan koneksi - mode pesawat, atau DevTools → Network → Offline. Muat ulang. Galeri dan setiap alat yang telah Anda buka tetap berfungsi, termasuk rendering dan ekspor dalam format yang telah Anda gunakan - berkas alat dan encoder suatu format di-cache saat pertama kali Anda menggunakannya, jadi jalankan sebuah alat sekali saat online sebelum mengujinya secara offline. Ini adalah pemeriksaan tunggal terkuat di halaman ini: perangkat lunak yang menghubungi pulang tidak akan bertahan ketika kabelnya diputus.

3. Hitung cookie-nya. DevTools → Application (Firefox: Storage) → Cookies → https://lolly.tools. Daftarnya kosong - aplikasi ini tidak mengatur cookie apa pun. Atau tempel document.cookie ke konsol: Anda mendapatkan "". (Satu-satunya cookie di seluruh sistem, lolly_ca_state, bertahan paling lama sepuluh menit selama proses sign-in identitas opsional - dihapus begitu sign-in selesai - dibatasi cakupannya pada /api/ca dan bersifat HttpOnly: kebijakan privasi menjelaskannya secara rinci.)

4. Baca penyimpanan Anda sendiri. Panel Application yang sama: semua yang disimpan Lolly dapat diperiksa langsung di hadapan Anda - sekitar dua puluh kunci localStorage biasa (tema, bahasa, lebar sidebar, pengaturan suara dan tampilan, plus salinan cache dari indeks katalog alat publik), dan dokumen Anda sendiri di IndexedDB. Setiap nilai adalah string atau JSON yang dapat dibaca - tidak ada yang diobfuskasi, tidak ada yang dienkode untuk menghalangi pembacaan. Profile → Clear all my data menghapusnya; begitu pula menghapus data situs di browser, karena tidak ada salinan sisi server yang bisa bertahan darinya.

5. Periksa apakah kontak pengungkapan ada. /.well-known/security.txt menjawab dengan blok kontak RFC 9116, bukan halaman HTML.

Dari terminal

6. Endpoint render dinonaktifkan di lolly.tools. Satu-satunya fitur server yang akan memasukkan input ketikan pengguna ke dalam URL - render hot-link - dinonaktifkan di sini sampai layanan ini pindah ke hosting milik organisasi (jelaskan alasannya di kebijakan privasi):

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

Sakelar ini bersifat per-deployment (LOLLY_DISABLE_RENDER_GET=1): di lolly.art, instance demo publik, render hot-link sengaja diaktifkan, sehingga probe yang sama di sana mengembalikan gambar - perbedaan itu adalah flag yang bekerja, bukan inkonsistensi.

7. Permukaan server dapat dienumerasi. Server Surface mencantumkan setiap rute sisi server yang ada, dengan aturan baku bahwa endpoint yang tidak ada di halaman itu bukan bagian dari Lolly. curl semuanya; tidak ada yang lain untuk ditemukan.

Di dalam kode sumber

Semua di atas masih bisa jadi sandiwara jika kode yang di-deploy berbeda dari kode publik. Jadi periksa kodenya - deployment dibangun dari repositori publik:

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

8. Tidak ada pelacak, tidak ada SDK analitik, di mana pun. Cari di kode yang dirilis - engine, setiap shell (termasuk ekstensi browser, override bridge Tauri dan service worker), fungsi server dan paket alat - untuk pelaku biasa:

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. Tidak ada resolver DNS pihak ketiga. Pemeriksaan SEAL milik Verify tidak pernah merutekan pencarian melalui penyedia DNS-over-HTTPS - aplikasi web ini memang tidak punya 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. Layanan sertifikat tidak menyimpan apa pun. CA identitas tidak memiliki log penerbitan - bukan email Anda, bukan stempel waktu, bukan webhook. Ketiadaannya bisa diverifikasi lewat grep:

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

Ditegakkan oleh pengujian, bukan janji

Ketiga pemeriksaan sumber di atas bukan audit sekali jalan - keduanya dipatok dalam test suite, sehingga tidak bisa membusuk diam-diam. tests/no-trackers.test.ts menggagalkan build jika:

Jalankan sendiri di clone Anda (Node 22.18+; tidak perlu npm install untuk berkas ini):

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

Suite lengkap (npm install && npm test) menjalankan beberapa ribu lagi, termasuk pengujian kriptografi adversarial yang dijelaskan di Security & Verification.

Apa yang tidak bisa Anda verifikasi dari luar - dikatakan secara terus terang

Halaman seperti ini memperoleh kepercayaan dengan menyebutkan batasannya sendiri:

Jika sebuah pemeriksaan gagal

Ketidaksesuaian antara halaman ini dan perilaku yang teramati adalah laporan keamanan, dan kami sungguh lebih memilih mendengarnya daripada tidak: fitzy+security@suse.com, tombol Report a vulnerability di repositori lolly-tools mana pun, atau kontak di /.well-known/security.txt. Pengungkapan terkoordinasi dan kredit bagi pelapor adalah kebijakan baku - SECURITY.md memuat rinciannya.