Verifica
Come funziona Slopographic
Le app girano nel tuo browser. Questa pagina elenca le funzioni del browser che usano, ogni richiesta di rete che possono fare e ciò che viene conservato sul tuo dispositivo, così puoi verificare da solo ogni affermazione. Ogni dichiarazione qui è stata controllata sul codice sorgente del repository pubblico.
La versione breve
- I tuoi file restano sul tuo dispositivo. Le app non hanno un server che li riceve, e nessun codice carica un file che apri o salvi. L’unica eccezione è una copia che consenti al pulsante AI di inviare a un servizio IA che hai collegato tu.
- I file che scegli sul disco vengono letti e scritti tramite la File System Access API del browser, nelle cartelle che scegli. Vedi le API del browser.
- I dati sono conservati nella memoria del browser su questo dispositivo (IndexedDB e localStorage). Vedi cosa viene memorizzato.
- Alcune richieste escono dal sito, ma solo nei casi elencati in ogni richiesta in uscita: un download che confermi, un backup nel cloud che colleghi, un servizio IA che colleghi con una tua chiave, i tassi di cambio che attivi, analisi o pubblicità che accetti.
- Il pulsante AI funziona con un modello sul tuo dispositivo, con un server sul tuo computer come Ollama o LM Studio, oppure con una tua chiave per un servizio come Claude, ChatGPT o Gemini. Con una chiave, ciò che chiedi va dal tuo browser direttamente a quel fornitore. Vedi il pulsante AI.
- La home carica il codice di Google Analytics a ogni visita, con le analisi impostate su negato. Le altre pagine lo caricano solo dopo che accetti le analisi. Le pubblicità si caricano solo dopo che accetti la pubblicità.
In parole semplici
Dove vanno i miei file?
Da nessuna parte. Quando apri una foto, un PDF o un foglio di calcolo, l’app lo legge dentro questa scheda del browser. Non c’è alcun passaggio di caricamento e nessun server di Slopographic che possa riceverlo. Ciò che salvi va sul tuo disco, oppure nella memoria di questo browser su questo dispositivo. Solo se colleghi un servizio IA con una tua chiave e lo consenti, una copia va a quel servizio (vedi il pulsante AI).
Perché un’app a volte scarica qualcosa?
Alcune funzioni hanno bisogno di un file grande che la maggior parte delle persone non usa mai: un modello IA (per rimuovere uno sfondo, leggere un testo o trascrivere un parlato), il motore video (per convertire un video) o un carattere per un’altra scrittura. Questi vengono recuperati solo quando usi la funzione, dopo che l’app ti dice cos’è e quanto pesa, e vengono conservati nel browser così accade una volta sola. I tuoi file non fanno mai parte di quella richiesta.
Funziona offline?
Sì, dopo la prima visita. I file del sito sono conservati dal browser, così le app si aprono e funzionano senza connessione. Solo un download che non hai ancora fatto (un modello o un carattere) ha bisogno della rete.
Devo installare qualcosa?
No. Apri semplicemente un’app nel browser del telefono, del tablet o del computer e inizia. Continua a funzionare senza internet dopo la prima visita. Vuoi un’icona nella schermata Home? Su iPhone o iPad, tocca Condividi, poi Aggiungi alla schermata Home. Su Android, apri il menu del browser e tocca Aggiungi alla schermata Home. Su un computer, clicca l’icona di installazione nella barra degli indirizzi. Non ti servono l’App Store o Google Play, e i tuoi file restano sul tuo dispositivo.
Cosa invia il pulsante AI, e dove?
Dipende dal modello che scegli. Un modello sul tuo dispositivo (richiede WebGPU e si scarica una volta) risponde dentro questa scheda, e nulla di ciò che chiedi lascia il dispositivo. Ollama, LM Studio e server simili girano sul tuo computer, o su uno nella tua rete che hai configurato tu. Con una tua chiave per un servizio come Claude, ChatGPT, Gemini, OpenRouter o Groq, i tuoi messaggi vanno dal tuo browser direttamente a quel fornitore, senza alcun server di Slopographic in mezzo, e si applicano i suoi termini e i suoi prezzi. Una copia di un file o un’immagine del tuo lavoro viene inviata solo dopo che il pannello lo chiede e tu lo consenti (puoi consentirlo per una richiesta, per una visita o sempre, e revocarlo in Permessi IA). Le immagini create o modificate dall’IA (Genera immagine, Modifica con IA) richiedono un servizio di immagini che colleghi, come OpenAI, Gemini o OpenRouter con una tua chiave: niente nel browser le disegna. I modelli sul tuo dispositivo e sul tuo computer non costano nulla; Gemini, Groq e Mistral hanno piani gratuiti, e OpenRouter ha modelli gratuiti (il pannello li contrassegna come Gratuito). Una chiave resta in questa scheda finché non la chiudi, oppure in questo browser solo se spunti Ricorda su questo dispositivo. Per OpenRouter puoi anche premere Accedi con OpenRouter invece di incollare una chiave: il browser va su openrouter.ai, consenti l’accesso lì, e al ritorno questa pagina chiede a OpenRouter stesso una chiave per questo browser. L’accesso passa direttamente tra il tuo browser e OpenRouter, e nulla passa dai server di Slopographic. La chiave viene pagata con i tuoi crediti OpenRouter ed è conservata esattamente come una chiave incollata; puoi limitarla o revocarla su openrouter.ai/settings/keys, e Dimentica la chiave la rimuove da questo browser.
Un agente IA può usare le app?
In un browser che supporta WebMCP, sì: un assistente nel browser, oppure un agente sul tuo computer collegato tramite un’estensione del browser, può eseguire i comandi di un’app, le conversioni di File e i flussi di lavoro, e aprire, salvare o scaricare i file. Si riferisce ai tuoi file tramite ID; il lavoro gira in questa scheda e le app non caricano nulla, anche se l’agente vede ciò che gli strumenti restituiscono. Tutto ciò che elimina o sostituisce il tuo lavoro ti chiede prima conferma. WebMCP è una bozza iniziale: Chrome lo ha in prova (versioni da 149 a 156) e dietro un flag, Edge dietro un flag, e Firefox e Safari non ancora. Disattivalo in Impostazioni, oppure in Aiuto, Agenti IA.
Posso verificarlo da solo?
Sì. Il codice sorgente è pubblico, e le sezioni sotto elencano ogni funzione del browser che le app usano e ogni richiesta che possono fare, con il file che la produce. Puoi anche aprire gli strumenti per sviluppatori del browser, andare nella scheda Rete e osservare: aprire e salvare i tuoi file non invia nulla.
Usa Slopographic da Claude Code e da altre app IA
In arrivo: un’app IA sul tuo computer, come Claude Code, Codex, Cursor, VS Code o Claude Desktop, può usare l’app Slopographic aperta nel browser: i suoi comandi reali, le conversioni e i flussi di lavoro, con i tuoi file in entrata e i risultati in uscita come file sul tuo computer. Funziona tramite il server MCP di Slopographic, un piccolo programma che l’app IA avvia sul tuo computer. Non richiede alcun account e nessuna installazione oltre all’app IA stessa.
- Claude Code: digita
/plugin marketplace add slopographic/claude-plugin, poi/plugin install slopographic@slopographic. Fallo una sola volta. - Digita
/slopographic:slop-connect(aggiungi un nome di app, comephotoslop, se vuoi). Claude Code apre Slopographic nel browser e mostra un breve codice. - Chrome chiede una sola volta se questo sito può usare app e servizi su questo dispositivo. Scegli Consenti: è così che la pagina raggiunge Claude Code sul tuo computer. La pagina parla solo con il tuo computer (127.0.0.1), non con la tua rete.
- Digita il codice nella pagina. La pagina mostra poi “Claude Code è connesso · Disconnetti” nell’angolo. Premi Disconnetti, oppure chiudi la scheda, per terminare.
Ogni scheda si abbina da sola, e il codice funziona una volta sola. Nient’altro sul tuo computer può usare la pagina senza di esso. Le azioni che eliminano o sostituiscono il tuo lavoro ti chiedono comunque conferma nella pagina, come nel pannello IA. Qualsiasi pagina di Slopographic può collegarsi dal riquadro comandi: Ctrl+K (⌘K su un Mac), poi “Collega un’app AI…”.
La configurazione per le altre app IA (Codex, Gemini CLI, Cursor, VS Code, Windsurf, Claude Desktop) compare qui quando gli script sono in esecuzione.
Le chat di ChatGPT possono raggiungere solo server su internet, quindi per ora non possono usare questo server locale. Codex nell’app desktop di ChatGPT può.
API del browser usate, e la specifica di ciascuna
I percorsi dei file sono i punti principali in cui ogni API è usata. Cerca il nome dell’API nel repository per trovare il resto.
| API del browser | A cosa serve | Dove nel codice | Specifica |
|---|---|---|---|
File System Access: window.showDirectoryPicker, FileSystemDirectoryHandle, createWritable | Unità locali in Slop Drive, la cartella di backup per la sincronizzazione nel cloud, l’importazione di cartelle della Galleria (sola lettura) e il caricamento di una cartella di modelli IA dal disco. Solo Chrome ed Edge. Le scritture sostituiscono un file solo quando si chiude. | drive/js/core/prov-dir.js, drive/js/ui/prov-drives.js, shared/sync/providers/local.js, gallery/js/io/source.js, shared/ai/webllm.js | wicg.github.io/file-system-access · MDN |
| IndexedDB | File di Slop Drive, riferimenti alle cartelle, record aziendali, archiviazione di caratteri e modelli IA, token di accesso cifrati. Elenco completo in Cosa viene memorizzato. | shared/hub.js, drive/js/core/drives-store.js, shared/data/store.js, shared/sync/tokens.js, shared/library/store.js | w3.org/TR/IndexedDB · MDN |
| localStorage | Piccole impostazioni: la tua scelta sul consenso, le impostazioni di sincronizzazione cloud, le impostazioni per app, le preferenze di visualizzazione di Drive. | shared/consent/state.js, shared/sync/config.js, shared/profile/profile.js, drive/js/core/util.js | WHATWG HTML, Web Storage · MDN |
| sessionStorage | Stato di accesso conservato solo mentre è in corso un reindirizzamento per l’accesso al cloud. Cancellato quando la scheda si chiude. | shared/sync/sync.js | WHATWG HTML, Web Storage |
| Origin Private File System | Non usato. Il codice non contiene alcuna chiamata a navigator.storage.getDirectory. | nessuna | WHATWG File System |
| Service Worker | Uso offline. Registrato da ogni pagina dell’app dopo il caricamento. Risponde solo alle richieste GET della stessa origine. | service-worker.js, shared/pwa.js | w3.org/TR/service-workers · MDN |
| Cache Storage | Copie salvate dei file del sito, dei file dei modelli per il ritaglio e dei file dei modelli per la chat IA dopo che li scarichi. | service-worker.js, shared/cutout/loader.js, shared/ai/webllm.js | W3C Service Workers, Cache objects · MDN |
| Web App Manifest | Permette a un browser di installare il sito come app. Dichiara nome, icone e pagina di avvio. | manifest.webmanifest | w3.org/TR/appmanifest · MDN |
Storage Manager: navigator.storage.persist(), estimate() | Chiede al browser di conservare la memoria di questo sito dopo l’installazione o in modalità standalone. Lo spazio di archiviazione di Slop ti chiede prima di chiedere al browser. Mostra quanto è pieno lo spazio. | shared/pwa.js, shared/storage/storage.js | WHATWG Storage · MDN |
| Web Worker | Esegue il lavoro pesante fuori dalla pagina: ritaglio di immagini, ingrandimento, inferenza di AI Tools, creazione di PDF. | shared/cutout/cutout.js, upscale/js/engine/engine.js, aitools/common.js, pdf/js/io/build.js | WHATWG HTML, Workers · MDN |
| WebAssembly | Esegue l’ONNX Runtime Web incluso per AI Tools, Upscale, Immagine in 3D, rilevamento dei volti e ritaglio, con un solo thread. Anche la libreria WebLLM della chat IA è basata su WebAssembly. | aitools/workers/ort.js, upscale/js/engine/worker.js, img3d/js/model/depth.js, shared/faces/index.js, shared/ai/webllm.js | WebAssembly Core spec · MDN |
| WebGPU | La chat IA controlla cosa può far girare il tuo computer, e il worker di ritaglio richiede un adattatore GPU. Fa girare il modello di chat sulla GPU, in Slop AI e nel pannello IA di ogni app. | shared/ai/sysinfo.js, shared/cutout/worker.js, shared/ai/webllm.js | w3.org/TR/webgpu · MDN |
| WebGL 2 | Anteprima 3D e la correzione colore in SlopCut. | 3d/js/render/stage.js, drive/js/core/render3d.js, slopcut/js/render/grade.js | Khronos WebGL 2.0 spec · MDN |
| Canvas 2D e OffscreenCanvas | Disegno, modifica delle immagini ed esportazione in quasi tutte le app. | Circa 130 file chiamano getContext('2d'), per esempio photoslop/js/io/save.js | WHATWG HTML, Canvas · MDN |
| File e Blob, trascinamento | Apertura dei file che scegli o trascini su una pagina. I file non lasciano mai la pagina, a meno che tu non li salvi o condivida. | shared/drop/, shared/preview/chrome.js | W3C File API · MDN |
Web Crypto: crypto.subtle | Verifiche SHA-256 di ogni file scaricato prima che venga conservato, e AES-GCM per i token di accesso cifrati. | shared/cutout/loader.js, shared/library/store.js, shared/sync/tokens.js | w3.org/TR/WebCryptoAPI · MDN |
| Notifiche | Notifiche del browser per i promemoria, solo dopo che premi il pulsante per consentirle. | reminders/js/app.js, shared/reminders/engine.js | WHATWG Notifications · MDN |
| BroadcastChannel | Messaggi tra le schede aperte di questo sito (canale slopographic). Resta dentro il browser. | shared/hub.js | WHATWG HTML, Broadcasting · MDN |
Web Share: navigator.share() | Il foglio di condivisione del sistema, solo quando premi Condividi. Il sistema poi invia il file all’app che scegli. | shared/preview/chrome.js, ai/js/ui/speccard.js | w3.org/TR/web-share · MDN |
WebMCP: document.modelContext.registerTool() | Offre a un agente IA nel browser le azioni dell’app come strumenti (i suoi comandi, le operazioni sui file, i file per ID), solo dove il browser ha l’API e l’impostazione “Consenti agli agenti IA di usare questa app” è attiva. Gli strumenti girano nella pagina. Il token della prova di origine è nell’head di ogni pagina. | shared/agent/webmcp.js, shared/agent/workspace.js, shared/agent/boot.js | W3C Web Machine Learning CG draft · Chrome |
| WebSocket | Il collegamento a un’app IA sul tuo computer (il server MCP di Slopographic), solo dopo che scegli “Collega un’app AI…”. Si collega a ws://127.0.0.1, solo a questo computer. | shared/agent/bridge.js | WHATWG WebSockets |
| Fetch | Ogni richiesta di rete delle app. L’elenco completo è in Richieste in uscita. | Circa 35 punti di chiamata fetch( in circa 30 file (alcuni sono commenti) | WHATWG Fetch · MDN |
Cosa viene memorizzato su questo dispositivo
Tutto ciò che segue è conservato in questo browser, su questo dispositivo. Nulla qui viene inviato a un server. Ogni sito ha la sua memoria, quindi la stessa app in un altro browser ha una sua copia.
| Nome | Tipo | Cosa contiene | Impostato in |
|---|---|---|---|
slop-drive | IndexedDB | File e cartelle di Slop Drive, incluso il contenuto dei file. | shared/hub.js |
slop-drive-folders | IndexedDB | Le unità locali con nome: il riferimento di ogni cartella e il suo nome. Rimuovere un’unità dimentica solo il riferimento. | drive/js/core/drives-store.js |
slop-sync, slop-sync-local | IndexedDB | Token di accesso cifrati al cloud (AES-GCM con una chiave non esportabile). Il riferimento alla cartella di backup scelta. | shared/sync/tokens.js, shared/sync/providers/local.js |
slop-data | IndexedDB | Record aziendali: clienti, prodotti, scorte, fatture, pagamenti e voci del libro contabile (shared/data/schema.js). | shared/data/store.js |
slop-library | IndexedDB | Caratteri installati da Ottieni altro e file di caratteri che aggiungi. | shared/library/store.js |
slop-aitools, slop-ai | IndexedDB | Modelli IA di AI Tools che hai installato, e le chat nell’app di chat IA. | aitools/models.js, ai/js/core/store.js |
slop-session | IndexedDB | La vista aperta di ogni app e le bozze non salvate, così una nuova visita riprende da dove avevi lasciato. | shared/session/session.js |
slop-consent | localStorage | Le tue scelte su analisi, pubblicità e tassi. Disattivate finché non scegli. | shared/consent/state.js |
slop-sync | localStorage | Impostazioni di sincronizzazione cloud: i tuoi ID client OAuth e gli orari dell’ultima sincronizzazione. I token non sono conservati qui. | shared/sync/config.js |
slop-ai-keys | IndexedDB | Le tue chiavi IA, solo quando spunti Ricorda su questo dispositivo. Senza, una chiave resta in questa scheda (sessionStorage) e scompare quando la chiudi. Esclusa dai backup. | shared/ai/cloud/keys.js |
slop-ai.cloud, slop-ai.imagegen, slop-ai.permissions | localStorage | Quale servizio IA e modello hai scelto, il tuo limite di spesa, le impostazioni delle immagini e i permessi IA che hai concesso. Mai una chiave. | shared/ai/cloud/keys.js, shared/ai/imagegen/core.js, shared/ai/permissions.js |
slop-ai.signin | sessionStorage | Mentre accedi con OpenRouter: il verificatore PKCE una tantum e lo stato che dimostrano che l’accesso è iniziato in questa scheda. Usato una volta, scompare quando chiudi la scheda, mai una chiave. | shared/ai/cloud/signin.js |
slop.agents | localStorage | “off” quando hai disattivato “Consenti agli agenti IA di usare questa app”. Non viene memorizzato nulla mentre è attivo. | shared/agent/boot.js |
slop.bridge | sessionStorage | Mentre questa scheda è abbinata a un’app IA sul tuo computer: la porta e il token di abbinamento, così un ricaricamento resta connesso. Scompare quando ti disconnetti o chiudi la scheda. | shared/agent/bridge.js |
slop-profile | localStorage | Impostazioni per app che hai cambiato rispetto al valore predefinito. | shared/profile/profile.js |
slop-drive.prefs, slop-drive.theme | localStorage | Preferenze di visualizzazione e tema di Slop Drive. | drive/js/core/util.js |
slopographic-v38 | Cache Storage | Copie salvate dei file del sito, così il sito funziona offline. | service-worker.js |
slop-cutout-v1 | Cache Storage | File dei modelli per il ritaglio, dopo la verifica del loro SHA-256. | shared/cutout/loader.js |
Cookie: il codice del sito non scrive mai un cookie (il repository non contiene alcuna chiamata a document.cookie). La tua scelta sul consenso è in localStorage, non in un cookie. Gli script di analisi e pubblicità di Google possono impostare i propri cookie quando girano. La sezione Cookie e analisi dice quando girano.
Richieste in uscita: ogni luogo verso cui può andare una richiesta
L’elenco qui sotto è completo per il repository: deriva da una ricerca di ogni fetch(, XMLHttpRequest, indirizzo di script e immagine, e di ogni URL esterno nel codice. A parte gli script di analisi e pubblicità, che si caricano solo come indicato sotto, le app non caricano script, caratteri o fogli di stile di terze parti. Non ci sono caratteri di terze parti né iframe.
| Destinazione | Quale app o parte | Perché | Quando succede |
|---|---|---|---|
www.googletagmanager.com (Google Analytics, ID G-HW6FWQVFK3) | Home (index.html); le altre pagine tramite shared/consent/consent-mode.js | Misurazione delle visualizzazioni di pagina | Home: a ogni visita, con le analisi impostate su negato finché non accetti. Altre pagine: solo dopo che accetti le analisi. |
pagead2.googlesyndication.com (AdSense) | Pagine con spazi pubblicitari (shared/ads/ads.js) | Pubblicità | Solo dopo che accetti la pubblicità. Caricato dall’unico caricatore in shared/consent/consent-mode.js. |
huggingface.co, e i suoi host di archiviazione hf.co e xethub.hf.co | Chat IA (shared/ai/webllm.js, ai/js/core/engine.js); AI Tools e le app OCR (aitools/model-registry.js, aitools/models.js) | File dei modelli: OCR (PP-OCRv4), tag e i modelli di chat | Dopo che premi Scarica, oppure installi un modello in Ottieni altro, e confermi la sua dimensione e la licenza. AI Tools verifica lo SHA-256 di ogni file, e un file deve provenire da un host di Hugging Face o dal repository slopographic/cdn. |
cdn.jsdelivr.net (jsDelivr, solo /gh/slopographic/cdn@ una versione fissa) | Ogni file dal repository slopographic/cdn (shared/cdn/assets.js): i pacchetti di Ottieni altro, i modelli di parlato e OCR, i motori HEIC, RAW delle fotocamere, 3D e video | Una copia più veloce e in cache del repository qui sotto; i file oltre 20 MB arrivano da raw.githubusercontent.com | Gli stessi momenti della riga qui sotto. Se jsDelivr non risponde o invia byte errati, lo stesso file viene recuperato da raw.githubusercontent.com e verificato allo stesso modo. |
raw.githubusercontent.com | Chat IA (shared/ai/webllm.js, i kernel GPU); pacchetti di Ottieni altro (shared/library/packs.json) | Kernel per il modello di chat; file di caratteri da github.com/google/fonts (OFL); caratteri per lingua (Noto, OFL) per scrivere in altri alfabeti come arabo, cinese o hindi; il modello Real-ESRGAN 4x per Slop Upscale, il modello di profondità per Immagine in 3D, e i modelli di parlato per Slop Transcribe e AI Tools (Whisper, KB-Whisper, NB-Whisper; aitools/speech-models.js), dal repository slopographic/cdn | Quando premi Scarica in Ottieni altro o nella finestra Lingua e modello e confermi, oppure carichi un modello di chat. Un carattere per lingua si scarica anche quando scrivi testo in un alfabeto che ne ha bisogno (in Slop PDF, per esempio): l’app chiede prima, a meno che tu non abbia scelto di scaricare automaticamente i caratteri per lingua (shared/fonts/jit.js). Ogni file viene verificato con il suo SHA-256 prima di essere conservato. |
accounts.google.com, oauth2.googleapis.com, www.googleapis.com | Sincronizzazione nel cloud con il tuo Google Drive (shared/sync/providers/gdrive.js, pkce.js, config.js) | Accesso, poi backup e ripristino di un file di backup, in una cartella facoltativa. Usa l’ambito drive.file, che raggiunge solo i file che questa app crea o che scegli. | Solo quando colleghi il tuo ID client OAuth, e quando premi un pulsante di backup o sincronizzazione. |
www.dropbox.com, api.dropboxapi.com, content.dropboxapi.com | Sincronizzazione nel cloud con Dropbox (shared/sync/providers/dropbox.js) | Come Google Drive, per Dropbox | Solo quando colleghi e premi un pulsante di backup o sincronizzazione. |
data-api.ecb.europa.eu | Tassi di cambio (shared/data/rates-ecb.js, aperto da Impostazioni, e letto da Ledger e Calcolatrice) | Tassi di riferimento giornalieri EUR della Banca centrale europea | Solo quando la categoria dei tassi è attiva e premi Aggiorna. Aggiorna all’apertura viene eseguito solo se spunti anche quella opzione. |
| L’indirizzo di un’immagine trascinata da un altro sito web | PhotoSlop (photoslop/js/app/tabs.js) | Apre l’immagine trascinata in una nuova scheda | Solo quando trascini un’immagine da un’altra pagina su PhotoSlop. |
slopographic.com (il sito stesso) | Ogni pagina, il logo della home, il service worker | I file del sito | A ogni visita. Nient’altro da questa origine viene richiesto. |
Il servizio IA che colleghi con una tua chiave: per esempio api.anthropic.com, api.openai.com, generativelanguage.googleapis.com, openrouter.ai o api.groq.com, oppure l’indirizzo che digiti per Ollama, LM Studio o un altro server | Il pannello IA (shared/ai/cloud/, l’elenco dei servizi in shared/ai/cloud/catalog/); immagini IA (shared/ai/imagegen/) | I tuoi messaggi, gli strumenti dell’app e i loro risultati, e una copia di un file o di un’immagine solo dopo che lo consenti; per le immagini IA, il prompt e, per una modifica, l’immagine (al massimo 1536 px) | Solo dopo che aggiungi la tua chiave o un indirizzo di server e invii una richiesta. Un modello sul tuo dispositivo non invia nulla. |
openrouter.ai/auth (una pagina alla quale vai) e openrouter.ai/api/v1/auth/keys | Accedi con OpenRouter nel pannello IA (shared/ai/cloud/signin.js) | Alla pagina di accesso: l’indirizzo di questa pagina a cui tornare, una sfida PKCE e uno stato casuale. All’indirizzo della chiave: il codice una tantum che OpenRouter ha dato e il suo verificatore PKCE; OpenRouter risponde con una chiave per questo browser. Direttamente tra il tuo browser e OpenRouter, nulla passa dai server di Slopographic. | Solo quando premi Accedi con OpenRouter. |
127.0.0.1 (il tuo computer) | Collega un’app AI (shared/agent/bridge.js) | La pagina parla con il server MCP di Slopographic che l’app IA ha avviato: gli strumenti dell’app, i loro risultati e i file che chiedi di inviare o salvare | Solo dopo che scegli “Collega un’app AI…” e digiti il codice che l’app IA mostra. Chrome chiede prima. |
| Solo link: Patreon, YouTube e Vimeo | Link per le donazioni (shared/consent/donate.js), link ai video delle Note (notes/js/video.js) | Apre il sito in una nuova scheda quando ci clicchi | Solo quando clicchi. Un video in una nota appare come link, non come lettore incorporato o immagine di anteprima. |
Due cose che sembrano uso della rete ma non lo sono: tools/vendor-codemirror.mjs scarica pacchetti da cdn.jsdelivr.net quando uno sviluppatore lo esegue a mano per aggiornare il codice incluso. Le app non caricano mai quella CDN. Il visualizzatore di posta (eml/js/frame.js) blocca le immagini e gli script remoti nella posta con una Content Security Policy, quindi aprire un messaggio non carica immagini o script remoti.
Cookie e analisi
- Memorizzati dal codice del sito: una scelta sul consenso in localStorage (
slop-consent), con analisi, pubblicità e tassi disattivati finché non scegli. La memoria può essere cancellata nel browser in qualsiasi momento. - Non memorizzati dal codice del sito: nessun cookie e nessun account. Il repository non scrive mai un cookie.
- Google Analytics: nella home, il tag viene caricato con
analytics_storageimpostato su negato. Viene attivato solo quando accetti le analisi. Nelle altre pagine si carica solo dopo che accetti. - Gli script di Google possono impostare propri cookie quando girano. Lo decide Google, non il codice di Slopographic. I passaggi di verifica qui sotto mostrano cosa il browser memorizza davvero.
- Pubblicità: AdSense si carica solo dopo che accetti la pubblicità. Rifiutarla lascia vuoti gli spazi pubblicitari.
Lavorare offline
Dopo una visita, i file del sito sono conservati in Cache Storage dal service worker (service-worker.js, con il suo elenco di file in sw-precache.js). Le pagine vengono verificate prima sulla rete, poi prese dalla cache, e infine viene mostrata la pagina offline. I tuoi file non sono nella cache del service worker: si trovano nella cartella che hai scelto, o in IndexedDB. Le app continuano a funzionare con la rete spenta. I download (i modelli e i pacchetti di caratteri elencati sopra) richiedono la rete la prima volta.
Come verificarlo da solo
- Scheda Rete, con la pagina caricata. Apri l’app, premi F12 (o Cmd+Opzione+I su un Mac), e apri la scheda Rete. Spunta “Conserva log”, poi ricarica. Leggi la colonna Dominio. In una visita normale, dovresti vedere solo
slopographic.com, più i domini di analisi di Google nella home. - Scheda Rete, offline. Nella scheda Rete, apri il menu di limitazione e scegli Offline. Ricarica, poi apri un file, modificalo e salvalo. L’app dovrebbe funzionare. Ciò che richiede un download lo dice.
- Scheda Applicazione, memoria. In Chrome o Edge, apri la scheda Applicazione. Sotto Archiviazione, vedi Archiviazione locale, Archiviazione di sessione, IndexedDB, Cookie, Cache Storage e Service worker. Confronta ciò che vedi con le tabelle di questa pagina.
- Accetta o rifiuta, poi confronta. Rifiuta analisi e pubblicità nella barra del consenso, ricarica e controlla di nuovo la scheda Rete. Poi accettale, e vedi quali richieste compaiono.
- Leggi il codice sorgente. Il codice è pubblico nel repository slopographic su GitHub. Cercalo per
fetch(,indexedDB.open,localStorageoshowDirectoryPickerper confermare ogni riga di questa pagina. Il codice del consenso è inshared/consent/, la sincronizzazione nel cloud inshared/sync/, e gli elenchi dei download inshared/library/eaitools/.
Le cartelle locali (File System Access API) richiedono Chrome o Edge. Firefox e Safari non le offrono, e le app lo dicono dove serve.