Lolly'nin gizlilik ve güvenlik sayfaları iddialarda bulunur: analitik yok, izleme yok, dosyalar cihazdan asla çıkmaz, sistemin tamamında tek bir çerez. Bu sayfa farklıdır: bunların hiçbirine inanmanı istemez. Her biri kesin komutu veya tıklama yolunu ve göreceğin çıktıyı içeren bir prosedür listesidir. Buradaki her iddia, çoğu için hiçbir şey kurmadan, dakikalar içinde çürütülebilir.
Bu sayfadaki herhangi bir kontrol gösterilen sonucu üretmiyorsa, bu ya bir hatadır ya da tutulmamış bir sözdür. Bildir - her iki durumda da, bunu tutulmamış bir sözün hak ettiği ciddiyetle ele alacağız.
On saniyede çalıştığını gör
Prosedürlerden önce, karşılığı gör. /verify sayfasını aç ve üzerine bir dosya bırak - yükleme yok, hesap yok, sunucu beklemesi yok. İşte AI duruşu sayfamızdan oluşturulmuş Queensland fırtınasını kontrol ediyor: Lolly'nin açtığı, filigran eklediği ve dışa aktardığı bir Gemini görseli. Aşağıdaki her rozet, cihazda, dosyanın kendi baytlarından hesaplandı.
signed by Lollyvector SVG79 paths~6.4k nodes48 groups1 image157 KBKendin kontrol etİmzalı dosyayı al
signed by Lollyvector SVG79 paths~6.4k nodes48 groups1 image157 KBKendin kontrol etİmzalı dosyayı al
Karar, tek bir rozet değil, her biri bağımsız bir gerçek olan küçük bir rozet yığınıdır:
- Made with Lolly - kimlik bilgisi sağlam ve bir Lolly dışa aktarımı kaydediyor.
- Kimlik bilgisi sağlam - imzalı C2PA manifestosu ayrıştırılıyor ve kendi iddia imzası doğrulanıyor.
- Baytlar değişmedi - dosyanın özeti (hash) hâlâ imzalanan değerle eşleşiyor. Tek bir pikseli değiştir ve bu rozet döner.
- GEN AI - bu pikselleri bir makine üretti ve dosya bunu söylüyor. Lolly bu iddiayı gizlemek yerine olduğu gibi geri okuyor.
Ve tüm geçmiş dosyayla birlikte yolculuk ediyor. Burada dokuz adım hayatta kalıyor - görseli oluştururken ve filigranlarken Google'ın kaydettiği beş adım, ardından bu sayfadaki kopyayı açarken, işaretlerken ve dönüştürürken Lolly'nin kaydettiği dört adım - doğrudan baytlardan, cihazında geri okunuyor ve bir zaman çizelgesi olarak gösteriliyor. Bu, AI duruşu sayfasındaki C2PA zaman çizelgesiyle aynı görsel, aynı şekilde doğrulanmış.
signed by Lollyvector SVG255 paths~14k nodes162 groups287 KBKendin kontrol etİmzalı dosyayı al
signed by Lollyvector SVG255 paths~14k nodes162 groups287 KBKendin kontrol etİmzalı dosyayı al
Ancak bunların hiçbiri güven iddiası değil - bu bir gösterim. Bu sayfanın geri kalanı asıl güven iddiasıdır: yukarıdaki her rozet yeniden üretilebilir ve altlarındaki garantileri nasıl yeniden üreteceğin burada.
Tarayıcında, hiçbir araç gerekmez
1. Ağı izle. lolly.tools adresini aç, tarayıcının DevTools'unu (F12) aç, Network sekmesine geç ve bir araç kullan - QR Code aracına bir URL yaz, renkleri değiştir, bir PNG dışa aktar. Her istek lolly.tools üzerinde kalır: uygulama kabuğu, aracın kendi dosyaları, katalog varlıkları. Analitik sunucusu yok, CDN işareti yok, yazı tipi servisi yok, "hata bildirimi" uç noktası yok. Bir araca yazdıkların hiçbir istekte görünmez - render işlemi yerel olarak yapılır.
Dürüst istisnalar - her biri isteğe bağlı, kullanıcı tarafından başlatılır ve gerçekleştiği anda aynı Network sekmesinde görünür: marka düzenleyicisinde bir Google Font eklemek, ilk getirmeden önce bir kez tam olarak bunu söyleyen bir onay iletişim kutusundan sonra o tek aile yazı tipini Google'dan getirir; bir ICC baskı profili ön ayarına tıklamak o profili ICC'nin color.org'daki genel kayıt defterinden getirir; isteğe bağlı yerleşik radyoyu çalmak istasyondan akış yapar; Meeting Planner'a bir konum girmek, koordinatları ve saat dilimi için o yeri open-meteo'nun coğrafi kodlama servisinde şehir başına bir kez arar (yanıtlar cihazında saklanır) ve giriş alanı bu bilgiyi tam yazdığın yerde taşır; ve URL Screenshot yazdığın URL'yi zorunlu olarak yükler - bu onun işidir ve bunun gerçekleştiğini izlersin. Ağ yeteneği bildiren bir araç yalnızca manifestosunun izin verdiği ana bilgisayarlardan getirme yapabilir ve bu mekanizma başarısızlıkta kapanır (fail-closed); şu anda dağıtılan hiçbir araç böyle bir yetenek bildirmiyor, dolayısıyla yukarıdaki listeyi gerçekten kendi ana bilgisayarlarıyla sınırlayan sınır, tarayıcı tarafından uygulanan İçerik Güvenliği Politikası'dır. Gizlilik politikası bunların tümünün kurallı tablosunu tutar; yerleşik kuralı, o tabloda olmayan bir ağ temasının gerçekleşmediğidir.
2. Fişi çek. Uygulamayı yükle ve bir iki araç aç, sonra çevrimdışına geç - uçak modu veya DevTools → Network → Offline. Yeniden yükle. Galeri ve açtığın her araç çalışmaya devam eder, kullandığın biçimlerde render ve dışa aktarma dahil - bir aracın dosyaları ve bir biçimin kodlayıcısı ilk kullanımında önbelleğe alınır, bu yüzden bir aracı çevrimdışı test etmeden önce bir kez çevrimiçiyken çalıştır. Bu, bu sayfadaki en güçlü tek kontroldür: eve telefon eden yazılım, bağlantısı kesildiğinde ayakta kalamaz.
3. Çerezleri say. DevTools → Application (Firefox: Storage) → Cookies → https://lolly.tools. Liste boştur - uygulama hiçbir çerez ayarlamaz. Ya da konsola document.cookie yapıştır: "" alırsın. (Tüm sistemdeki tek çerez olan lolly_ca_state, isteğe bağlı bir kimlik girişi sırasında en fazla on dakika yaşar - giriş tamamlanır tamamlanmaz silinir - /api/ca ile sınırlıdır ve HttpOnly'dir: gizlilik politikası bunu tam olarak açıklar.)
4. Kendi depolamanı oku. Aynı Application paneli: Lolly'nin sakladığı her şey önünde incelenebilir - birkaç düzine sade localStorage anahtarı (tema, dil, kenar çubuğu genişliği, ses ve görünüm ayarları, ayrıca genel araç kataloğu indeksinin önbelleğe alınmış bir kopyası) ve IndexedDB'de kendi belgelerin. Her değer okunabilir bir dize veya JSON'dur - hiçbir şey gizlenmemiş, okunmasını caydırmak için hiçbir şey kodlanmamıştır. Tarayıcıda site verilerini temizlemek bunun tümünü kaldırır ve Lolly'nin hiçbir sunucu tarafı kopyası yoktur; Ayarlar → Depolama → Tüm verilerimi temizle aynısını uygulamanın içinden yapar, ve bu depoların ve önbelleklerin bu panelde boşaldığını izleyebilirsin.
5. Bildirim iletişim bilgisinin var olduğunu kontrol et. /.well-known/security.txt, bir HTML sayfası değil, bir RFC 9116 iletişim bloğuyla yanıt verir.
Bir terminalden
6. Render uç noktası yalnızca herkese açık verilerle yanıt verir. Kullanıcının yazdığı girdileri bir URL'ye koyan tek sunucu özelliği - hot-link render'lar - burada canlıdır ve gizlilik politikası bir bağlantıya koyduğun girdiler için bunun ne anlama geldiğini açıklar:
curl -s -o /dev/null -w '%{http_code}\n' 'https://lolly.tools/tool/qr-code.svg?url=test'
# 200Anahtar dağıtım başınadır (LOLLY_DISABLE_RENDER_GET=1): bunu ayarlayan bir örnekte aynı sorgu 404 döndürür - bu fark, bir tutarsızlık değil bayrağın çalıştığının göstergesidir.
7. Sunucu yüzeyi listelenebilirdir. Server Surface var olan her sunucu tarafı rotasını listeler; yerleşik kural, o sayfada olmayan bir uç noktanın Lolly'nin parçası olmadığıdır. Onları curl ile dene; bulunacak başka bir şey yok.
Kaynak kodda
Dağıtılan kod genel koddan farklı olsaydı, yukarıdakilerin tümü yine de bir gösteri olabilirdi. O yüzden kodu kontrol et - dağıtım genel depodan derlenir:
git clone https://github.com/lolly-tools/lolly.git
cd lolly8. Hiçbir yerde takipçi, hiçbir analitik SDK'sı yok. Dağıtılan kodda - motor, her kabuk (tarayıcı uzantısı, Tauri köprü geçersiz kılmaları ve servis çalışanı dahil), sunucu fonksiyonları ve araç paketleri - her zamanki şüphelileri ara:
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. Üçüncü taraf DNS çözümleyici yok. Verify'ın SEAL kontrolü aramaları hiçbir zaman bir DNS-over-HTTPS sağlayıcısı üzerinden yönlendirmez - web uygulamasının basitçe bir çözümleyicisi yoktur:
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. Sertifika servisi hiçbir şey saklamaz. Kimlik CA'sının bir düzenleme günlüğü yoktur - ne e-postan, ne bir zaman damgası, ne de bir webhook. Bu yokluk grep ile doğrulanabilir:
grep -rn logIssuance services/ca api/ca
# (no output)Vaatlerle değil, testlerle uygulanır
Yukarıdaki üç kaynak kontrolü tek seferlik bir denetim değildir - test paketine sabitlenmişlerdir, böylece sessizce çürüyemezler. tests/no-trackers.test.ts şu durumlarda derlemeyi başarısız kılar:
- taradığı dağıtılan kaynağın herhangi bir yerinde bir analitik veya takip SDK'sı görünürse - uygulama, motor, sunucu, uzantı ve araç paketi kodu dahil,
- o kaynakta herhangi bir üçüncü taraf DNS-over-HTTPS çözümleyicisi görünürse,
- CA düzenleme günlüğü geri gelirse - kaynakta veya üretilen sunucu paketinde,
- gizlilik politikası yasal olarak gerekli ifadelerini kaybederse (adlandırılmış veri sorumlusu, hukuki dayanak, şikayet hakkı).
Bunları klonda kendin çalıştır (Node 22.18+; bu dosya için pnpm install gerekmez):
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 complainTam paket (pnpm install && pnpm test), Güvenlik ve Doğrulama sayfasında açıklanan çekişmeli kriptografi testleri de dahil olmak üzere birkaç bin test daha çalıştırır.
Dışarıdan doğrulayamayacakların - açıkça söylenmiş
Böyle bir sayfa, kendi sınırlarını adlandırarak güven kazanır:
- Barındırma erişim günlükleri. Bir isteğe yanıt veren herhangi bir sunucu o isteği günlükleyebilir - IP, yol, zaman damgası. Bir barındırıcının neyi saklayıp neyi saklamadığını doğrulayamazsın, biz de sağlayıcımızın belgelenmiş davranışının ötesinde doğrulayamayız. Mimarinin içeriğini tamamen hattın dışında tutmasının tam nedeni budur: cihazından hiç çıkmayan bir şey kimse tarafından günlüklenemez.
- Dağıtımın bu kodu çalıştırdığı. Kaynağın temiz olduğunu ve dağıtılan davranışın onunla eşleştiğini doğrulayabilirsin (yukarıdaki kontroller her iki ucu da yapar), ancak bir web dağıtımının ikili düzeyde tasdiki web platformunun sunduğu bir şey değildir. Önlemler genel depo, uygulanan testler ve çevrimdışı kontroldür - eve telefon eden kurcalanmış bir dağıtım 1. ve 2. kontrolde hemen başarısız olur.
- Araç kancaları varsayılan olarak izole edilmemiştir. Bir aracın isteğe bağlı mantığı incelenmiş olarak, sayfanın kendi alanında çalışır; lolly.tools'taki her araç birinci taraftır ve dağıtılmadan önce incelenir. Worker izolasyonu artık araç başına isteğe bağlı olarak sunuluyor - manifestosu
isolate: trueayarlayan bir araç kancalarını bunun yerine iş parçacığı dışında çalıştırır - yani dışarıdan doğrulayamadıkların daralıyor, ama varsayılan yol hâlâ aynı alanda ve denetim hâlâ kontrol mekanizması. Bu gizlenmiş değil, açıkça belirtilmiştir - her zaman böyle söyleyen tasarım sınırları bölümüne bak.
Bir kontrol başarısız olursa
Bu sayfa ile gözlemlenen davranış arasındaki bir uyumsuzluk bir güvenlik raporudur ve bunu duymayı duymamaktan gerçekten daha çok isteriz: fitzy+security@suse.com, herhangi bir lolly-tools deposundaki Report a vulnerability düğmesi veya /.well-known/security.txt içindeki iletişim bilgisi. Koordineli ifşa ve bildirene teşekkür, yerleşik politikadır - ayrıntılar SECURITY.md içindedir.