Slopographic

Аудит

Як працює Slopographic

Застосунки працюють у вашому браузері. Ця сторінка перелічує функції браузера, які вони використовують, кожен мережевий запит, який вони можуть зробити, і що зберігається на вашому пристрої, щоб ви могли перевірити кожне твердження самостійно. Кожне твердження тут перевірено за вихідним кодом у публічному репозиторії.

Коротко

Простими словами

Куди діваються мої файли?

Нікуди. Коли ви відкриваєте фото, PDF або електронну таблицю, застосунок читає його всередині цієї вкладки браузера. Немає кроку завантаження і немає сервера Slopographic, який міг би його прийняти. Те, що ви зберігаєте, потрапляє на ваш власний диск або в сховище цього браузера на цьому пристрої. Лише якщо ви підключите службу ШІ з власним ключем і дозволите це, копія піде до цієї служби (див. кнопку ШІ).

Чому застосунок іноді щось завантажує?

Деякі функції потребують великого файлу, який більшість людей ніколи не використовує: модель ШІ (щоб прибрати фон, розпізнати текст або розшифрувати мову), відеорушій (щоб конвертувати відео) або шрифт для іншої писемності. Їх отримують лише тоді, коли ви користуєтеся функцією, після того як застосунок повідомить, що це за файл і який він розміру, і зберігають у браузері, щоб це сталося один раз. Ваші власні файли ніколи не входять до цього запиту.

Чи працює без мережі?

Так, після першого відвідування. Власні файли сайту зберігає браузер, тож застосунки відкриваються й працюють без з’єднання. Лише завантаження, яке ще не виконано (модель або шрифт), потребує мережі.

Чи потрібно щось встановлювати?

Ні. Просто відкрийте застосунок у браузері на телефоні, планшеті або комп’ютері й починайте. Він працює без інтернету після першого відвідування. Хочете значок на початковому екрані? На iPhone або iPad торкніться «Поділитися», потім «Додати на початковий екран». На Android відкрийте меню браузера й торкніться «Додати на початковий екран». На комп’ютері натисніть значок встановлення в адресному рядку. App Store або Google Play не потрібні, а ваші файли лишаються на вашому пристрої.

Що надсилає кнопка ШІ і куди?

Це залежить від обраної моделі. Модель на вашому пристрої (їй потрібен WebGPU, і її завантажують один раз) відповідає в цій вкладці, і нічого з того, що ви запитуєте, не залишає пристрій. Ollama, LM Studio та подібні сервери працюють на вашому комп’ютері або на сервері в вашій мережі, який ви налаштували самі. З власним ключем для служби, як-от Claude, ChatGPT, Gemini, OpenRouter або Groq, ваші повідомлення йдуть з вашого браузера прямо до цього провайдера, без сервера Slopographic посередині, і діють його умови та ціни. Копія файлу або зображення вашої роботи надсилається лише після того, як панель запитає і ви дозволите (можна дозволити для одного запиту, для одного відвідування або завжди, а скасувати в налаштуваннях дозволів ШІ). Зображення, створені або змінені ШІ («Згенерувати зображення», «Редагувати за допомогою ШІ»), потребують підключеної служби зображень, як-от OpenAI, Gemini або OpenRouter з вашим власним ключем: ніщо в браузері їх не малює. Моделі на вашому пристрої та на вашому комп’ютері нічого не коштують; Gemini, Groq і Mistral мають безкоштовні тарифи, а в OpenRouter є безкоштовні моделі (панель позначає їх як Free). Ключ зберігається у цій вкладці, доки ви її не закриєте, або в цьому браузері лише тоді, коли ви відмітили «Запам’ятати на цьому пристрої». Для OpenRouter можна також натиснути «Увійти через OpenRouter» замість вставлення ключа: ваш браузер перейде на openrouter.ai, ви дозволите доступ там, а на зворотному шляху ця сторінка сама запитує в OpenRouter ключ для цього браузера. Вхід іде безпосередньо між вашим браузером і OpenRouter, і нічого не проходить через сервери Slopographic. Ключ оплачується з ваших кредитів OpenRouter і зберігається так само, як вставлений; обмежити або відкликати його можна на openrouter.ai/settings/keys, а «Забути ключ» видаляє його з цього браузера.

Чи може ШІ-агент користуватися застосунками?

У браузері з підтримкою WebMCP — так: помічник у браузері або агент на вашому комп’ютері, підключений через розширення браузера, може виконувати команди застосунку, перетворення File convert і сценарії, а також відкривати, зберігати або завантажувати файли. Він посилається на ваші файли за ідентифікаторами; робота виконується в цій вкладці, застосунки нічого не передають, хоча агент бачить те, що повертають інструменти. Усе, що видаляє або замінює вашу роботу, спершу запитує вас. WebMCP — ранній чернетковий стандарт: Chrome має його в пробній версії (версії 149–156) і за прапорцем, Edge — за прапорцем, а Firefox і Safari ще ні. Вимкніть його в Налаштуваннях або в «Довідка» → «ШІ-агенти».

Чи можна перевірити це самостійно?

Так. Вихідний код публічний, а розділи нижче перелічують кожну функцію браузера, яку використовують застосунки, і кожен запит, який вони можуть зробити, з файлом, що його створює. Ви також можете відкрити інструменти розробника браузера, перейти на вкладку «Мережа» і стежити: відкриття та збереження ваших файлів нічого не надсилає.

Користуйтеся Slopographic із Claude Code та інших застосунків ШІ

Незабаром: застосунок ШІ на вашому комп’ютері, як-от Claude Code, Codex, Cursor, VS Code або Claude Desktop, може використовувати відкритий у браузері застосунок Slopographic: його справжні команди, перетворення та сценарії, з вашими файлами на вході та результатами у вигляді файлів на вашому комп’ютері. Це працює через сервер Slopographic MCP, невелику програму, яку застосунок ШІ запускає на вашому комп’ютері. Потрібен лише сам застосунок ШІ: без облікового запису і без додаткового встановлення.

  1. Claude Code: введіть /plugin marketplace add slopographic/claude-plugin, потім /plugin install slopographic@slopographic. Робіть це один раз.
  2. Введіть /slopographic:slop-connect (за бажанням додайте назву застосунку, наприклад photoslop). Claude Code відкриє Slopographic у вашому браузері й покаже короткий код.
  3. Chrome один раз запитає, чи може цей сайт використовувати застосунки та служби на цьому пристрої. Оберіть Дозволити: так сторінка звертається до Claude Code на вашому комп’ютері. Сторінка спілкується лише з вашим комп’ютером (127.0.0.1), а не з вашою мережею.
  4. Введіть код на сторінці. Потім сторінка покаже в кутку «Claude Code підключено · Від’єднати». Натисніть «Від’єднати» або закрийте вкладку, щоб завершити.

Кожна вкладка спарюється окремо, а код працює один раз. Ніщо інше на вашому комп’ютері не може використовувати сторінку без нього. Дії, які видаляють або замінюють вашу роботу, все одно запитують вас на сторінці, як і на панелі ШІ. Будь-яка сторінка Slopographic може підключитися з палітри команд: Ctrl+K (⌘K на Mac), потім «Підключити застосунок ШІ…».

Налаштування для інших застосунків ШІ (Codex, Gemini CLI, Cursor, VS Code, Windsurf, Claude Desktop) з’являться тут, коли запрацюють скрипти.

Чати ChatGPT можуть звертатися лише до серверів в інтернеті, тож поки що не можуть використовувати цей локальний сервер. Codex у настільному застосунку ChatGPT може.

API браузера та специфікація кожного з них

Шляхи до файлів — головні місця, де використовується кожен API. Шукайте назву API в репозиторії, щоб знайти решту.

API браузера, які використовують застосунки
API браузераДля чого використовуєтьсяДе в кодіСпецифікація
File System Access: window.showDirectoryPicker, FileSystemDirectoryHandle, createWritableЛокальні диски в Slop Drive, папка резервних копій для хмарної синхронізації, імпорт папки Gallery (лише читання) і завантаження папки моделі ШІ з диска. Лише Chrome і Edge. Запис замінює файл лише тоді, коли той закривається.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.jswicg.github.io/file-system-access · MDN
IndexedDBФайли Slop Drive, дескриптори папок, ділові записи, сховище шрифтів і моделей ШІ, зашифровані токени входу. Повний список у Що зберігається.shared/hub.js, drive/js/core/drives-store.js, shared/data/store.js, shared/sync/tokens.js, shared/library/store.jsw3.org/TR/IndexedDB · MDN
localStorageНевеликі налаштування: ваш вибір згоди, параметри хмарної синхронізації, налаштування кожного застосунку, уподобання перегляду Drive.shared/consent/state.js, shared/sync/config.js, shared/profile/profile.js, drive/js/core/util.jsWHATWG HTML, Web Storage · MDN
sessionStorageСтан входу, що зберігається лише доти, доки триває перенаправлення хмарного входу. Очищується, коли вкладку закрито.shared/sync/sync.jsWHATWG HTML, Web Storage
Origin Private File SystemНе використовується. Код не містить виклику navigator.storage.getDirectory.немаєWHATWG File System
Service WorkersРобота без мережі. Реєструється кожною сторінкою застосунку після завантаження. Відповідає лише на GET-запити того самого походження.service-worker.js, shared/pwa.jsw3.org/TR/service-workers · MDN
Cache StorageЗбережені копії власних файлів сайту, файлів моделей вирізання та файлів моделей чату ШІ після того, як ви їх завантажили.service-worker.js, shared/cutout/loader.js, shared/ai/webllm.jsW3C Service Workers, Cache objects · MDN
Web App ManifestДозволяє браузеру встановити сайт як застосунок. Оголошує назву, значки та стартову сторінку.manifest.webmanifestw3.org/TR/appmanifest · MDN
Storage Manager: navigator.storage.persist(), estimate()Просить браузер зберігати сховище цього сайту після встановлення або в автономному режимі. Slop Storage спершу запитує вас, а потім браузер. Показує, наскільки заповнене сховище.shared/pwa.js, shared/storage/storage.jsWHATWG Storage · MDN
Web WorkersВажка робота поза сторінкою: вирізання зображень, збільшення, висновки AI Tools, побудова PDF.shared/cutout/cutout.js, upscale/js/engine/engine.js, aitools/common.js, pdf/js/io/build.jsWHATWG HTML, Workers · MDN
WebAssemblyЗапускає вбудований ONNX Runtime Web для AI Tools, Upscale, Image to 3D, виявлення облич і вирізання, в один потік. Бібліотека WebLLM застосунку чату також ґрунтується на WebAssembly.aitools/workers/ort.js, upscale/js/engine/worker.js, img3d/js/model/depth.js, shared/faces/index.js, shared/ai/webllm.jsWebAssembly Core spec · MDN
WebGPUЗастосунок чату перевіряє, що може запустити ваш комп’ютер, а робочий процес вирізання запитує адаптер GPU. Запускає модель чату на GPU у Slop AI та на панелі ШІ кожного застосунку.shared/ai/sysinfo.js, shared/cutout/worker.js, shared/ai/webllm.jsw3.org/TR/webgpu · MDN
WebGL 23D-перегляд і корекція кольору в SlopCut.3d/js/render/stage.js, drive/js/core/render3d.js, slopcut/js/render/grade.jsKhronos WebGL 2.0 spec · MDN
Canvas 2D та OffscreenCanvasМалювання, редагування зображень і експорт майже в кожному застосунку.Близько 130 файлів викликають getContext('2d'), наприклад photoslop/js/io/save.jsWHATWG HTML, Canvas · MDN
File і Blob, перетягуванняВідкриття файлів, які ви обираєте або перетягуєте на сторінку. Файли ніколи не залишають сторінку, доки ви їх не збережете або не поділитеся ними.shared/drop/, shared/preview/chrome.jsW3C File API · MDN
Web Crypto: crypto.subtleПеревірки SHA-256 кожного завантаженого файлу перед збереженням і AES-GCM для зашифрованих токенів входу.shared/cutout/loader.js, shared/library/store.js, shared/sync/tokens.jsw3.org/TR/WebCryptoAPI · MDN
СповіщенняСповіщення браузера для нагадувань, лише після того, як ви натиснете кнопку, щоб їх дозволити.reminders/js/app.js, shared/reminders/engine.jsWHATWG Notifications · MDN
BroadcastChannelПовідомлення між відкритими вкладками цього сайту (канал slopographic). Лишається в браузері.shared/hub.jsWHATWG HTML, Broadcasting · MDN
Web Share: navigator.share()Системне вікно поширення, лише коли ви натискаєте «Поділитися». Далі система надсилає файл застосунку, який ви обираєте.shared/preview/chrome.js, ai/js/ui/speccard.jsw3.org/TR/web-share · MDN
WebMCP: document.modelContext.registerTool()Пропонує ШІ-агенту в браузері дії застосунку як інструменти (його команди, операції з файлами, файли за ідентифікаторами), лише там, де браузер має цей API і ввімкнено налаштування «Дозволити ШІ-агентам використовувати цей застосунок». Інструменти працюють на сторінці. Токен пробної версії походження є в заголовку кожної сторінки.shared/agent/webmcp.js, shared/agent/workspace.js, shared/agent/boot.jsW3C Web Machine Learning CG draft · Chrome
WebSocketЗв’язок із застосунком ШІ на вашому комп’ютері (сервер Slopographic MCP), лише після того, як ви обираєте «Підключити застосунок ШІ…». Підключається до ws://127.0.0.1, лише до цього комп’ютера.shared/agent/bridge.jsWHATWG WebSockets
FetchКожен мережевий запит у застосунках. Повний список у Вихідні запити.Близько 35 місць викликів fetch( у близько 30 файлах (деякі з них — коментарі)WHATWG Fetch · MDN

Що зберігається на цьому пристрої

Усе нижче зберігається в цьому браузері, на цьому пристрої. Нічого звідси не надсилається на сервер. Кожен сайт має власне сховище, тож той самий застосунок в іншому браузері має власну копію.

Сховище, яке використовують застосунки (приклади з коду; пошук indexedDB.open і localStorage покаже їх усі)
НазваТипЩо міститьВстановлюється в
slop-driveIndexedDBФайли й папки Slop Drive, включно з вмістом файлів.shared/hub.js
slop-drive-foldersIndexedDBНазвані локальні диски: дескриптор кожної папки та її назва. Видалення диска забуває лише дескриптор.drive/js/core/drives-store.js
slop-sync, slop-sync-localIndexedDBЗашифровані токени входу в хмару (AES-GCM під ключем, який не можна експортувати). Дескриптор обраної папки резервних копій.shared/sync/tokens.js, shared/sync/providers/local.js
slop-dataIndexedDBДілові записи: клієнти, товари, запаси, рахунки, платежі та записи головної книги (shared/data/schema.js).shared/data/store.js
slop-libraryIndexedDBШрифти, встановлені з «Отримати більше», і файли шрифтів, які ви додаєте.shared/library/store.js
slop-aitools, slop-aiIndexedDBМоделі AI Tools, які ви встановили, і чати в застосунку чату ШІ.aitools/models.js, ai/js/core/store.js
slop-sessionIndexedDBВідкритий вигляд кожного застосунку та незбережені чернетки, тож повторне відвідування продовжує з того місця, де ви зупинилися.shared/session/session.js
slop-consentlocalStorageВаш вибір щодо аналітики, реклами та курсів. Вимкнено, доки ви не оберете.shared/consent/state.js
slop-synclocalStorageНалаштування хмарної синхронізації: ваші ідентифікатори клієнта OAuth і час останньої синхронізації. Токени тут не зберігаються.shared/sync/config.js
slop-ai-keysIndexedDBВаші ключі ШІ, лише коли ви відмічаєте «Запам’ятати на цьому пристрої». Без цього ключ лишається в цій вкладці (sessionStorage) і зникає, коли ви її закриваєте. Не входить до резервних копій.shared/ai/cloud/keys.js
slop-ai.cloud, slop-ai.imagegen, slop-ai.permissionslocalStorageЯку службу ШІ та модель ви обрали, ваш ліміт витрат, налаштування зображень і дозволи ШІ, які ви надали. Ніколи ключ.shared/ai/cloud/keys.js, shared/ai/imagegen/core.js, shared/ai/permissions.js
slop-ai.signinsessionStorageПід час входу через OpenRouter: одноразовий верифікатор PKCE і стан, які доводять, що вхід почався в цій вкладці. Використовуються один раз, зникають, коли ви закриваєте вкладку, і ніколи не є ключем.shared/ai/cloud/signin.js
slop.agentslocalStorage«off», коли ви вимкнули «Дозволити ШІ-агентам використовувати цей застосунок». Нічого не зберігається, поки він увімкнений.shared/agent/boot.js
slop.bridgesessionStorageПоки ця вкладка спарена із застосунком ШІ на вашому комп’ютері: порт і токен спарювання, щоб перезавантаження лишало підключення. Зникає, коли ви від’єднуєтеся або закриваєте вкладку.shared/agent/bridge.js
slop-profilelocalStorageНалаштування кожного застосунку, які ви змінили порівняно зі стандартними.shared/profile/profile.js
slop-drive.prefs, slop-drive.themelocalStorageУподобання перегляду Slop Drive і тема.drive/js/core/util.js
slopographic-v38Cache StorageЗбережені копії власних файлів сайту, щоб сайт працював без мережі.service-worker.js
slop-cutout-v1Cache StorageФайли моделей для вирізання після перевірки їх SHA-256.shared/cutout/loader.js

Cookie: код сайту ніколи не записує cookie (у репозиторії немає виклику document.cookie). Ваш вибір згоди зберігається в localStorage, а не в cookie. Скрипти аналітики та реклами Google можуть встановлювати власні cookie під час роботи. Розділ Cookie та аналітика пояснює, коли вони працюють.

Вихідні запити: кожне місце, куди може піти запит

Список нижче повний для репозиторію: його складено пошуком кожного fetch(, XMLHttpRequest, адреси скриптів і зображень і кожної зовнішньої адреси в коді. Окрім скриптів аналітики та реклами, які завантажуються лише так, як сказано нижче, застосунки не завантажують сторонніх скриптів, шрифтів чи таблиць стилів. Сторонніх шрифтів і iframe немає.

Кожен вихідний запит, який можуть зробити сайти
ПризначенняЯкий застосунок або частинаНавіщоКоли відбувається
www.googletagmanager.com (Google Analytics, ID G-HW6FWQVFK3)Головна сторінка (index.html); інші сторінки через shared/consent/consent-mode.jsВимірювання переглядів сторінокГоловна сторінка: під час кожного відвідування, з аналітикою, встановленою як заборонена, доки ви її не приймете. Інші сторінки: лише після того, як ви прийняли аналітику.
pagead2.googlesyndication.com (AdSense)Сторінки з рекламними місцями (shared/ads/ads.js)РекламаЛише після того, як ви прийняли рекламу. Завантажується єдиним завантажувачем у shared/consent/consent-mode.js.
huggingface.co і його хости зберігання hf.co та xethub.hf.coЧат ШІ (shared/ai/webllm.js, ai/js/core/engine.js); AI Tools і застосунки OCR (aitools/model-registry.js, aitools/models.js)Файли моделей: OCR (PP-OCRv4), теги та моделі чатуПісля того, як ви натиснете «Завантажити» або встановите модель у «Отримати більше», і підтвердите її розмір і ліцензію. AI Tools перевіряє SHA-256 кожного файлу, а файл має надходити з хоста Hugging Face або з репозиторію slopographic/cdn.
cdn.jsdelivr.net (jsDelivr, лише /gh/slopographic/cdn@ зафіксованого випуску)Кожен файл із репозиторію slopographic/cdn (shared/cdn/assets.js): пакети «Отримати більше», моделі мовлення та OCR, рушії HEIC, RAW камер, 3D і відеоШвидша кешована копія репозиторію нижче; файли понад 20 МБ беруться з raw.githubusercontent.comТі самі моменти, що й у рядку нижче. Якщо jsDelivr не відповідає або надсилає хибні байти, той самий файл завантажується з raw.githubusercontent.com і перевіряється так само.
raw.githubusercontent.comЧат ШІ (shared/ai/webllm.js, ядра GPU); пакети «Отримати більше» (shared/library/packs.json)Ядра для моделі чату; файли шрифтів із github.com/google/fonts (OFL); мовні шрифти (Noto, OFL) для писемностей на кшталт арабської, китайської чи гінді; модель Real-ESRGAN 4x для Slop Upscale, модель глибини для Image to 3D і моделі мовлення для Slop Transcribe та AI Tools (Whisper, KB-Whisper, NB-Whisper; aitools/speech-models.js) з репозиторію slopographic/cdnКоли ви натискаєте «Завантажити» в «Отримати більше» або в діалозі мови та моделі й підтверджуєте, або завантажуєте модель чату. Мовний шрифт також завантажується, коли ви пишете писемністю, яка його потребує (наприклад, у Slop PDF): застосунок спершу запитує, якщо ви не обрали автоматичне завантаження мовних шрифтів (shared/fonts/jit.js). Кожен файл перевіряється за SHA-256, перш ніж зберегтися.
accounts.google.com, oauth2.googleapis.com, www.googleapis.comХмарна синхронізація з вашим власним Google Drive (shared/sync/providers/gdrive.js, pkce.js, config.js)Вхід, потім резервне копіювання й відновлення одного файлу резервної копії в необов’язковій папці. Використовує область drive.file, яка охоплює лише файли, що їх створює цей застосунок, або які ви обираєте.Лише коли ви підключаєтеся з власним ідентифікатором клієнта OAuth і натискаєте кнопку резервного копіювання або синхронізації.
www.dropbox.com, api.dropboxapi.com, content.dropboxapi.comХмарна синхронізація з Dropbox (shared/sync/providers/dropbox.js)Так само, як для Google Drive, але для DropboxЛише коли ви підключаєтеся й натискаєте кнопку резервного копіювання або синхронізації.
data-api.ecb.europa.euКурси валют (shared/data/rates-ecb.js, відкривається з Налаштувань, читається Ledger і Calculator)Щоденні довідкові курси EUR від Європейського центрального банкуЛише коли категорію курсів увімкнено і ви натискаєте «Оновити». Оновлення під час відкриття виконується лише тоді, коли ви також це відмітили.
Адреса зображення, перетягнутого з іншого сайтуPhotoSlop (photoslop/js/app/tabs.js)Відкриває перетягнуте зображення в новій вкладціЛише коли ви перетягуєте зображення з іншої сторінки в PhotoSlop.
slopographic.com (сам сайт)Кожна сторінка, логотип на головній, service workerВласні файли сайтуПід час кожного відвідування. Нічого іншого з цього походження не запитується.
Служба ШІ, яку ви підключаєте з власним ключем: наприклад, api.anthropic.com, api.openai.com, generativelanguage.googleapis.com, openrouter.ai або api.groq.com, чи адреса, яку ви вводите для Ollama, LM Studio або іншого сервераПанель ШІ (shared/ai/cloud/, список служб у shared/ai/cloud/catalog/); зображення ШІ (shared/ai/imagegen/)Ваші повідомлення, інструменти застосунку та їхні результати, а копія файлу або зображення — лише після того, як ви дозволите; для зображень ШІ — запит і, для редагування, зображення (не більше 1536 пікселів)Лише після того, як ви додасте власний ключ або адресу сервера й надішлете запит. Модель на вашому пристрої нічого не надсилає.
openrouter.ai/auth (сторінка, на яку ви переходите) і openrouter.ai/api/v1/auth/keysВхід через OpenRouter на панелі ШІ (shared/ai/cloud/signin.js)На сторінку входу: адреса цієї сторінки для повернення, виклик PKCE і випадковий стан. На адресу ключа: одноразовий код, який видав OpenRouter, і його верифікатор PKCE; OpenRouter відповідає ключем для цього браузера. Безпосередньо між вашим браузером і OpenRouter, нічого не проходить через сервери Slopographic.Лише коли ви натискаєте «Увійти через OpenRouter».
127.0.0.1 (ваш власний комп’ютер)Підключити застосунок ШІ (shared/agent/bridge.js)Сторінка звертається до сервера Slopographic MCP, який запустив ваш застосунок ШІ: інструменти застосунку, їхні результати та файли, які ви просите надіслати або зберегтиЛише після того, як ви обираєте «Підключити застосунок ШІ…» і вводите код, який показує застосунок ШІ. Chrome спершу запитує.
Лише посилання: Patreon, YouTube і VimeoПосилання на підтримку (shared/consent/donate.js), посилання на відео в нотатках (notes/js/video.js)Відкриває сайт у новій вкладці, коли ви клацаєтеЛише коли ви клацаєте. Відео в нотатці показується як посилання, а не вбудований плеєр чи зображення-мініатюра.

Дві речі, які схожі на мережеве використання, але ним не є: tools/vendor-codemirror.mjs завантажує пакети з cdn.jsdelivr.net, коли розробник запускає його вручну, щоб оновити вбудований код. Застосунки ніколи не завантажують цей CDN. Переглядач пошти (eml/js/frame.js) блокує віддалені зображення та скрипти в листі політикою безпеки вмісту, тож відкриття повідомлення не завантажує віддалені зображення чи скрипти.

Cookie та аналітика

Робота без мережі

Після одного відвідування власні файли сайту зберігаються в Cache Storage через service worker (service-worker.js, зі списком його файлів у sw-precache.js). Сторінки спершу перевіряються через мережу, потім беруться з кешу, а потім показується сторінка без мережі. Ваші файли не зберігаються в кеші service worker: вони лежать у папці, яку ви обрали, або в IndexedDB. Застосунки працюють з вимкненою мережею. Завантаження (моделі та пакети шрифтів, перелічені вище) потребують мережі вперше.

Як перевірити самостійно

  1. Вкладка «Мережа», зі завантаженою сторінкою. Відкрийте застосунок, натисніть F12 (або Cmd+Option+I на Mac) і відкрийте вкладку «Мережа». Позначте «Зберігати журнал», потім перезавантажте. Прочитайте колонку «Домен». Під час звичайного відвідування ви маєте бачити лише slopographic.com і, на головній, домени аналітики Google.
  2. Вкладка «Мережа», без мережі. На вкладці «Мережа» відкрийте меню обмеження швидкості й оберіть «Офлайн». Перезавантажте, потім відкрийте файл, змініть його і збережіть. Застосунок має працювати. Усе, що потребує завантаження, про це повідомляє.
  3. Вкладка «Застосунок», сховище. У Chrome або Edge відкрийте вкладку «Застосунок». У розділі «Сховище» дивіться Local storage, Session storage, IndexedDB, Cookies, Cache Storage і Service workers. Порівняйте побачене з таблицями на цій сторінці.
  4. Прийміть або відмовтеся, потім порівняйте. Відмовтеся від аналітики та реклами в смузі згоди, перезавантажте і знову перевірте вкладку «Мережа». Потім прийміть їх і подивіться, які запити з’являються.
  5. Прочитайте код. Код публічний у репозиторії slopographic на GitHub. Шукайте в ньому fetch(, indexedDB.open, localStorage або showDirectoryPicker, щоб підтвердити будь-який рядок цієї сторінки. Код згоди — у shared/consent/, хмарна синхронізація — у shared/sync/, а списки завантажень — у shared/library/ і aitools/.

Локальні папки (File System Access API) потребують Chrome або Edge. Firefox і Safari їх не пропонують, і застосунки про це повідомляють там, де це стосується.