Slopographic

検証

Slopographic の仕組み

アプリはお使いのブラウザー内で動作します。このページでは、アプリが使うブラウザー機能、アプリが送信しうるすべてのネットワーク リクエスト、デバイスに保存される内容を一覧にしています。ご自身で各記述を確認できるようにするためです。ここに書かれた内容はすべて、公開リポジトリのソースコードと照合して確認しています。

要点

わかりやすい説明

ファイルはどこへ行くのですか?

どこにも行きません。写真、PDF、スプレッドシートを開くと、アプリはこのブラウザーのタブの中でそれを読み込みます。アップロードの手順はなく、ファイルを受け取る Slopographic のサーバーもありません。保存した内容は、お使いのディスク、またはこのデバイスのこのブラウザーのストレージに保存されます。AI サービスをご自身のキーで接続し、許可した場合にのみ、そのサービスにコピーが送られます(AI ボタンを参照してください)。

アプリがときどき何かをダウンロードするのはなぜですか?

ほとんどの人が使わない大きなファイルが必要な機能があるためです。AI モデル(背景の削除、文字の認識、音声の書き起こしのため)、動画エンジン(動画の変換のため)、他の文字体系用のフォントなどです。これらは、その機能を使ったときにのみ取得されます。取得前にアプリが内容と大きさを表示します。また、ブラウザーに保存されるため、同じ取得は一度だけ行われます。お使いのファイルがそのリクエストに含まれることはありません。

オフラインでも使えますか?

はい、初回の訪問後は使えます。サイト自身のファイルはブラウザーに保存されるため、接続がなくてもアプリは開いて動作します。まだ行っていないダウンロード(モデルやフォント)だけがネットワークを必要とします。

何かインストールする必要はありますか?

いいえ。スマートフォン、タブレット、パソコンのブラウザーでアプリを開くだけで使い始められます。初回の訪問後は、インターネットに接続していなくても動作を続けます。ホーム画面にアイコンを置きたい場合は、iPhone や iPad では「共有」をタップし、「ホーム画面に追加」を選びます。Android では、ブラウザーのメニューを開いて「ホーム画面に追加」をタップします。パソコンでは、アドレスバーのインストール アイコンをクリックします。App Store や Google Play は必要なく、ファイルはお使いのデバイスに残ります。

AI ボタンは何を、どこへ送るのですか?

それは選んだモデルによって異なります。デバイス上のモデル(WebGPU が必要で、一度だけダウンロードされます)は、このタブ内で応答するため、入力した内容がデバイスの外に出ることはありません。Ollama、LM Studio などの類似サーバーは、お使いのコンピューター上、またはご自身で設定したネットワーク内のコンピューター上で動作します。Claude、ChatGPT、Gemini、OpenRouter、Groq などのサービス用にご自身のキーを使うと、入力した内容はブラウザーから直接そのプロバイダーに送られます。間に Slopographic のサーバーは入りません。そのプロバイダーの利用規約と料金が適用されます。ファイルのコピーや作業内容の画像は、パネルが確認を求め、許可した後にのみ送信されます(一回のリクエスト、一回の訪問、または常に許可できます。取り消しは AI の権限で行えます)。AI が作成または変更した画像(「画像を生成」、AI で編集)には、ご自身で接続した画像サービス(OpenAI、Gemini、OpenRouter などをご自身のキーで利用)が必要です。ブラウザー内で描画されることはありません。デバイス上のモデルとご自身のコンピューター上のモデルは無料です。Gemini、Groq、Mistral には無料枠があり、OpenRouter には無料のモデルがあります(パネルで「Free」と表示されます)。キーは、タブを閉じるまでこのタブに保存されます。「このデバイスに保存」にチェックを入れた場合にのみ、このブラウザーに保存されます。OpenRouter では、キーを貼り付ける代わりに「OpenRouter でサインイン」を押すこともできます。ブラウザーは openrouter.ai に移動し、そこでアクセスを許可すると、戻ってきたこのページが、このブラウザー用のキーを OpenRouter 自身に要求します。サインインはブラウザーと OpenRouter の間で直接行われ、Slopographic のサーバーを経由することはありません。キーは OpenRouter のご自身のクレジットから支払われ、貼り付けたキーと同じように保存されます。openrouter.ai/settings/keys で上限を設定したり取り消したりできます。「キーを削除」を押すと、このブラウザーからキーが削除されます。

AI エージェントはアプリを使えますか?

WebMCP に対応したブラウザーでは使えます。ブラウザー内のアシスタント、またはブラウザー拡張機能で接続されたご自身のコンピューター上のエージェントは、アプリのコマンド、File convert の変換、ワークフローを実行したり、ファイルを開く、保存する、ダウンロードするといった操作を行ったりできます。エージェントはファイルを ID で参照します。処理はこのタブ内で行われ、アプリは何もアップロードしませんが、エージェントはツールが返す内容を見ることができます。作業内容を削除または置き換える操作は、必ず事前に確認を求めます。WebMCP はまだ初期の草案です。Chrome では試験版(バージョン 149 から 156)として提供され、Edge ではフラグの背後にあり、Firefox と Safari ではまだ提供されていません。設定、またはヘルプの「AI エージェント」でオフにできます。

自分で確認することはできますか?

はい。ソースコードは公開されており、以下のセクションには、アプリが使うすべてのブラウザー機能と送信しうるすべてのリクエストを、該当するファイルとともに掲載しています。ブラウザーの開発者ツールを開いて Network タブを見ることもできます。ファイルを開いたり保存したりしても、何も送信されないことが確認できます。

Claude Code などの AI アプリから Slopographic を使う

近日公開: Claude Code、Codex、Cursor、VS Code、Claude Desktop などの、お使いのコンピューター上の AI アプリは、ブラウザーで開いている Slopographic アプリを使えるようになります。実際のコマンド、変換、ワークフローを利用でき、ファイルはコンピューターとの間でファイルとして出し入れされます。Slopographic MCP サーバー(AI アプリがコンピューター上で起動する小さなプログラム)を経由して動作します。アカウントは不要で、AI アプリ以外にインストールするものもありません。

  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 に接続中 · 切断」と表示されます。「切断」を押すか、タブを閉じると接続を終了できます。

タブごとに個別にペアリングされ、コードは一度だけ使えます。このコードがなければ、コンピューター上の他のものはページを使えません。作業内容を削除または置き換える操作は、AI パネルと同様に、ページ内でも確認を求めます。どの Slopographic ページからも、コマンド パレットで接続できます。Ctrl+K(Mac では ⌘K)を押し、「AI アプリに接続…」を選んでください。

その他の AI アプリ(Codex、Gemini CLI、Cursor、VS Code、Windsurf、Claude Desktop)の設定は、スクリプトが実行されるとここに表示されます。

ChatGPT のチャットは、インターネット上のサーバーにしか接続できないため、このローカル サーバーはまだ使えません。ChatGPT デスクトップ アプリの Codex は使えます。

ブラウザー API と、それぞれの仕様

ファイルのパスは、各 API が主に使われている場所です。残りはリポジトリで API 名を検索してください。

アプリが使うブラウザー API
ブラウザー API用途コード内の場所仕様
File System Access: window.showDirectoryPicker、FileSystemDirectoryHandle、createWritableSlop Drive のローカル ドライブ、クラウド同期のバックアップ フォルダー、ギャラリーのフォルダーの読み込み(読み取りのみ)、ディスクからの AI モデル フォルダーの読み込み。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
IndexedDBSlop Drive のファイル、フォルダー ハンドル、業務データ、フォントと AI モデルの保存先、暗号化されたサインイン トークン。一覧全体は保存される内容を参照してください。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サイト自身のファイルの保存コピー、切り抜き用のモデル ファイル、ダウンロード後の AI チャット用モデル ファイル。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 ツールの推論、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 ツール、アップスケール、3D 画像化、顔検出と切り抜きのために、1 スレッドで実行します。チャットアプリの 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 と、各アプリの 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 を備えたブラウザーで、「AI エージェントにこのアプリの使用を許可」の設定がオンの場合にのみ、ブラウザー内の AI エージェントにアプリの操作(コマンド、ファイル操作、ID で指定するファイル)をツールとして提供します。ツールはページ内で実行されます。オリジン トライアルのトークンは各ページの head にあります。shared/agent/webmcp.js, shared/agent/workspace.js, shared/agent/boot.jsW3C Web Machine Learning CG draft · Chrome
WebSocketお使いのコンピューター上の AI アプリ(Slopographic MCP サーバー)への接続。「AI アプリに接続…」を選んだ後にのみ行われます。接続先は ws://127.0.0.1、つまりこのコンピューターだけです。shared/agent/bridge.jsWHATWG WebSockets
Fetchアプリにおけるすべてのネットワーク リクエスト。全一覧は送信リクエストにあります。約 30 のファイルにある約 35 の fetch( 呼び出し箇所(いくつかはコメント)WHATWG Fetch · MDN

このデバイスに保存される内容

以下のものはすべて、このデバイス上のこのブラウザーに保存されます。サーバーに送られるものはありません。サイトごとに個別のストレージを持つため、別のブラウザーで同じアプリを使うと、それぞれ別のコピーを持ちます。

アプリが使用するストレージ(コードからの例。indexedDB.open と localStorage を検索すると、すべてが一覧できます)
名前種類保存内容設定場所
slop-driveIndexedDBSlop 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 ツールのモデル、および AI チャットアプリのチャット。aitools/models.js, ai/js/core/store.js
slop-sessionIndexedDB各アプリで開いている表示と未保存の下書き。再訪問時に続きから作業できるようにします。shared/session/session.js
slop-consentlocalStorage分析、広告、為替レートの選択。選ぶまではオフです。shared/consent/state.js
slop-synclocalStorageクラウド同期の設定: OAuth クライアント ID と最後の同期時刻。トークンはここには保存されません。shared/sync/config.js
slop-ai-keysIndexedDBAI のキーは、「このデバイスに保存」にチェックを入れた場合にのみ保存されます。チェックがなければ、キーはこのタブ(sessionStorage)に保持され、タブを閉じると消えます。バックアップからは除外されます。shared/ai/cloud/keys.js
slop-ai.cloud, slop-ai.imagegen, slop-ai.permissionslocalStorage選んだ AI サービスとモデル、利用上限、画像の設定、与えた AI の権限。キーは保存されません。shared/ai/cloud/keys.js, shared/ai/imagegen/core.js, shared/ai/permissions.js
slop-ai.signinsessionStorageOpenRouter でサインインしている間: サインインがこのタブから始まったことを証明する、一度限りの PKCE 検証子と state。一度使われ、タブを閉じると消えます。キーではありません。shared/ai/cloud/signin.js
slop.agentslocalStorage「AI エージェントにこのアプリの使用を許可」をオフにすると「off」が保存されます。オンの間は何も保存されません。shared/agent/boot.js
slop.bridgesessionStorageこのタブがお使いのコンピューター上の AI アプリとペアリングされている間: ポートとペアリング トークン。再読み込みしても接続を保つためです。接続を切断するかタブを閉じると消えます。shared/agent/bridge.js
slop-profilelocalStorage既定値から変更した、アプリごとの設定。shared/profile/profile.js
slop-drive.prefs, slop-drive.themelocalStorageSlop 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 の呼び出しはありません)。同意の選択は Cookie ではなく localStorage に保存されます。Google の分析と広告のスクリプトは、実行時に独自の Cookie を設定することがあります。いつ実行されるかは、Cookie と分析のセクションに記載しています。

送信リクエスト: リクエストが送られうるすべての場所

以下の一覧は、リポジトリ全体について完全です。すべての fetch(、XMLHttpRequest、スクリプトと画像のアドレス、およびコード内のすべての外部 URL を検索して作成しました。分析と広告のスクリプトを除き(これらは以下に記載した場合にのみ読み込まれます)、アプリはサードパーティのスクリプト、フォント、スタイルシートを読み込みません。サードパーティのフォントや iframe もありません。

サイトが送信しうるすべての送信リクエスト
送信先アプリまたは部分目的発生するタイミング
www.googletagmanager.com(Google アナリティクス、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.coAI チャット(shared/ai/webllm.js、ai/js/core/engine.js)。AI ツールと OCR アプリ(aitools/model-registry.js、aitools/models.js)モデル ファイル: OCR(PP-OCRv4)、タグ、チャットモデル「ダウンロード」を押した後、または「さらに入手」からモデルをインストールし、サイズとライセンスを確認した後に発生します。AI ツールは各ファイルの SHA-256 を確認し、ファイルは Hugging Face のホスト、または slopographic/cdn リポジトリから取得されている必要があります。
cdn.jsdelivr.net(jsDelivr。固定リリースの /gh/slopographic/cdn@ のみ)slopographic/cdn リポジトリのすべてのファイル(shared/cdn/assets.js): 「さらに入手」のパック、音声と OCR のモデル、HEIC、カメラ RAW、3D と動画のエンジン以下のリポジトリのキャッシュされた高速なコピー。20 MB を超えるファイルは raw.githubusercontent.com から取得されます以下の行と同じタイミングで発生します。jsDelivr が応答しない、または誤ったデータを返す場合、同じファイルが raw.githubusercontent.com から取得され、同じ方法で確認されます。
raw.githubusercontent.comAI チャット(shared/ai/webllm.js、GPU のカーネル)。「さらに入手」のパック(shared/library/packs.json)チャットモデル用のカーネル。github.com/google/fonts(OFL)のフォント ファイル。アラビア語、中国語、ヒンディー語など他の文字体系を書くための言語フォント(Noto、OFL)。Slop Upscale 用の Real-ESRGAN 4x モデル、Image to 3D 用の深度モデル、Slop Transcribe と AI ツール用の音声モデル(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 ドライブへのクラウド同期(shared/sync/providers/gdrive.js、pkce.js、config.js)サインインの後、任意のフォルダー内の 1 つのバックアップ ファイルのバックアップと復元。drive.file のスコープを使用します。これは、このアプリが作成したファイル、またはあなたが選んだファイルにのみ届きます。ご自身の OAuth クライアント ID で接続した場合にのみ、またバックアップまたは同期のボタンを押したときにのみ発生します。
www.dropbox.com, api.dropboxapi.com, content.dropboxapi.comDropbox へのクラウド同期(shared/sync/providers/dropbox.js)Google ドライブと同じですが、Dropbox 用です接続し、バックアップまたは同期のボタンを押したときにのみ発生します。
data-api.ecb.europa.eu為替レート(shared/data/rates-ecb.js。設定から開かれ、元帳と電卓が読み取ります)欧州中央銀行による EUR の日次参照レートレートのカテゴリーがオンで、「更新」を押した場合にのみ発生します。開いたときの自動更新は、そのチェックも入れた場合にのみ実行されます。
別のウェブサイトからドラッグした画像のアドレスPhotoSlop(photoslop/js/app/tabs.js)ドラッグした画像を新しいタブで開きます別のページから画像を PhotoSlop にドラッグしたときにのみ発生します。
slopographic.com(サイト自体)すべてのページ、ホームページのロゴ、サービス ワーカーサイト自身のファイル訪問のたびに発生します。このオリジンから他のものが要求されることはありません。
ご自身のキーでお使いの AI サービスに接続した場合の接続先。例: api.anthropic.com、api.openai.com、generativelanguage.googleapis.com、openrouter.ai、api.groq.com。または Ollama、LM Studio などのサーバーとして入力したアドレスAI パネル(shared/ai/cloud/、サービス一覧は shared/ai/cloud/catalog/)。AI の画像(shared/ai/imagegen/)チャットの内容、アプリのツールとその結果、そしてファイルまたは画像のコピーは、許可した後にのみ送られます。AI の画像では、プロンプトと、編集の場合は画像(最大 1536 px)ご自身のキーまたはサーバー アドレスを追加し、リクエストを送信した後にのみ発生します。デバイス上のモデルは何も送信しません。
openrouter.ai/auth(移動するページ)と openrouter.ai/api/v1/auth/keysAI パネルの「OpenRouter でサインイン」(shared/ai/cloud/signin.js)サインイン ページへは、戻ってくるこのページのアドレス、PKCE のチャレンジ、ランダムな state を送ります。キーのアドレスへは、OpenRouter から受け取った一度限りのコードと PKCE 検証子を送ります。OpenRouter は、このブラウザー用のキーで応答します。ブラウザーと OpenRouter の間で直接行われ、Slopographic のサーバーは経由しません。「OpenRouter でサインイン」を押したときにのみ発生します。
127.0.0.1(お使いのコンピューター)AI アプリに接続(shared/agent/bridge.js)ページは、AI アプリが起動した Slopographic MCP サーバーと通信します。アプリのツール、その結果、そして送信または保存を依頼したファイルを扱います「AI アプリに接続…」を選び、AI アプリが表示したコードを入力した後にのみ発生します。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 と分析

オフラインでの利用

初回の訪問後、サイト自身のファイルは、サービス ワーカー(service-worker.js。ファイル一覧は sw-precache.js)によって Cache Storage に保存されます。ページはまずネットワークで確認し、次にキャッシュから読み込み、最後にオフライン ページを表示します。ご自身のファイルはサービス ワーカーのキャッシュには入りません。選んだフォルダーか IndexedDB にあります。ネットワークがオフでもアプリは動作を続けます。ダウンロード(上記のモデルやフォント パック)は、初回だけネットワークが必要です。

ご自身で確認する方法

  1. Network タブ(ページを読み込んだ状態で)。アプリを開き、F12 キー(Mac では Cmd+Option+I)を押して Network タブを開きます。「Preserve log」(ログを保持)にチェックを入れてから再読み込みします。Domain 列を確認してください。通常の訪問では、slopographic.com だけが表示され、ホームページではさらに Google の分析ドメインが表示されます。
  2. Network タブ、オフライン。Network タブのスロットリング メニューで「Offline」を選びます。再読み込みし、ファイルを開いて編集し、保存します。アプリは動作するはずです。ダウンロードが必要なものは、その旨が表示されます。
  3. Application タブ、ストレージ。Chrome または Edge で Application タブを開きます。Storage の下で、Local storage、Session storage、IndexedDB、Cookies、Cache Storage、Service workers を確認します。見えるものを、このページの表と比べてください。
  4. 同意または拒否をして比較する。同意バナーで分析と広告を拒否し、再読み込みして Network タブを再度確認します。その後で同意し、どのリクエストが現れるかを確認します。
  5. ソースを読む。コードは、GitHub の slopographic リポジトリで公開されています。このページの各項目を確認するには、fetch(、indexedDB.open、localStorage、showDirectoryPicker を検索してください。同意のコードは shared/consent/、クラウド同期は shared/sync/、ダウンロード一覧は shared/library/ と aitools/ にあります。

ローカル フォルダー(File System Access API)には Chrome または Edge が必要です。Firefox と Safari はこれを提供していないため、該当する場合はアプリにその旨が表示されます。