検証
Slopographic の仕組み
アプリはお使いのブラウザー内で動作します。このページでは、アプリが使うブラウザー機能、アプリが送信しうるすべてのネットワーク リクエスト、デバイスに保存される内容を一覧にしています。ご自身で各記述を確認できるようにするためです。ここに書かれた内容はすべて、公開リポジトリのソースコードと照合して確認しています。
要点
- ファイルはお使いのデバイスに残ります。ファイルを受け取るアプリのサーバーはなく、開いたファイルや保存したファイルをアップロードするコードもありません。唯一の例外は、ご自身で接続した AI サービスへ、AI ボタンが送信することを許可したコピーです。
- ディスク上で選んだファイルは、ブラウザーの File System Access API を通じて、選んだフォルダー内で読み書きされます。ブラウザー APIを参照してください。
- データは、このデバイス上のブラウザー自身のストレージ(IndexedDB と localStorage)に保存されます。保存される内容を参照してください。
- サイトの外へ出るリクエストもありますが、すべての送信リクエストに挙げた場合に限られます。具体的には、確認したダウンロード、接続したクラウド バックアップ、ご自身のキーで接続した AI サービス、有効にした為替レート、同意した分析または広告です。
- AI ボタンは、お使いのデバイス上のモデル、Ollama や LM Studio のようにご自身のコンピューター上で動くサーバー、または Claude、ChatGPT、Gemini などのサービス用にご自身で用意したキーで動作します。キーを使う場合、入力した内容はブラウザーから直接そのプロバイダーに送られます。AI ボタンを参照してください。
- ホームページは、訪問のたびに、分析を拒否に設定した状態の Google アナリティクスのコードを読み込みます。その他のページは、分析に同意した後にのみ読み込みます。広告は、広告に同意した後にのみ読み込まれます。
わかりやすい説明
ファイルはどこへ行くのですか?
どこにも行きません。写真、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 アプリ以外にインストールするものもありません。
- Claude Code:
/plugin marketplace add slopographic/claude-pluginと入力し、続けて/plugin install slopographic@slopographicを入力します。これは一度だけ行います。 /slopographic:slop-connectと入力します(必要ならphotoslopのようにアプリ名を追加してください)。Claude Code がブラウザーで Slopographic を開き、短いコードを表示します。- Chrome は、このサイトがこのデバイス上のアプリやサービスを使えるかどうかを、最初に一度確認します。許可を選んでください。これにより、ページがお使いのコンピューター上の Claude Code に接続できます。ページが通信するのはお使いのコンピューター(127.0.0.1)だけで、ネットワーク上の他の機器とは通信しません。
- ページにコードを入力します。すると、ページの隅に「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 | 用途 | コード内の場所 | 仕様 |
|---|---|---|---|
File System Access: window.showDirectoryPicker、FileSystemDirectoryHandle、createWritable | Slop 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.js | wicg.github.io/file-system-access · MDN |
| IndexedDB | Slop Drive のファイル、フォルダー ハンドル、業務データ、フォントと AI モデルの保存先、暗号化されたサインイン トークン。一覧全体は保存される内容を参照してください。 | 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 | 小さな設定: 同意の選択、クラウド同期の設定、アプリごとの設定、Drive の表示設定。 | shared/consent/state.js, shared/sync/config.js, shared/profile/profile.js, drive/js/core/util.js | WHATWG HTML, Web Storage · MDN |
| sessionStorage | クラウドのサインイン リダイレクトの途中でのみ保持されるサインイン状態。タブを閉じると消去されます。 | shared/sync/sync.js | WHATWG HTML, Web Storage |
| Origin Private File System | 使用していません。コードに navigator.storage.getDirectory の呼び出しはありません。 | なし | WHATWG File System |
| Service Workers | オフラインでの利用。各アプリのページが読み込まれた後に登録されます。同じオリジンへの GET リクエストにのみ応答します。 | service-worker.js, shared/pwa.js | w3.org/TR/service-workers · MDN |
| Cache Storage | サイト自身のファイルの保存コピー、切り抜き用のモデル ファイル、ダウンロード後の AI チャット用モデル ファイル。 | service-worker.js, shared/cutout/loader.js, shared/ai/webllm.js | W3C Service Workers, Cache objects · MDN |
| Web App Manifest | ブラウザーがサイトをアプリとしてインストールできるようにします。名前、アイコン、開始ページを宣言します。 | manifest.webmanifest | w3.org/TR/appmanifest · MDN |
Storage Manager: navigator.storage.persist()、estimate() | インストール後、またはスタンドアロン モードで、このサイトのストレージを保持するようブラウザーに要求します。Slop Storage は、ブラウザーに要求する前にあなたに確認します。ストレージの使用状況も表示します。 | shared/pwa.js, shared/storage/storage.js | WHATWG Storage · MDN |
| Web Workers | 重い処理をページの外で実行します。画像の切り抜き、アップスケール、AI ツールの推論、PDF の作成。 | shared/cutout/cutout.js, upscale/js/engine/engine.js, aitools/common.js, pdf/js/io/build.js | WHATWG 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.js | WebAssembly Core spec · MDN |
| WebGPU | チャットアプリはお使いのコンピューターで動かせるものを確認し、切り抜きのワーカーは GPU アダプターを要求します。チャットモデルを GPU で実行します。Slop AI と、各アプリの AI パネルで使われます。 | shared/ai/sysinfo.js, shared/cutout/worker.js, shared/ai/webllm.js | w3.org/TR/webgpu · MDN |
| WebGL 2 | 3D プレビューと、SlopCut のカラーグレーディング。 | 3d/js/render/stage.js, drive/js/core/render3d.js, slopcut/js/render/grade.js | Khronos WebGL 2.0 spec · MDN |
| Canvas 2D と OffscreenCanvas | ほぼすべてのアプリでの描画、画像編集、書き出し。 | 約 130 のファイルが getContext('2d') を呼び出しています。例: photoslop/js/io/save.js | WHATWG HTML, Canvas · MDN |
| File と Blob、ドラッグ&ドロップ | 選んだファイル、またはページにドロップしたファイルを開きます。保存または共有しない限り、ファイルがページの外に出ることはありません。 | shared/drop/, shared/preview/chrome.js | W3C File API · MDN |
Web Crypto: crypto.subtle | 保存の前にダウンロードした各ファイルの SHA-256 確認、および暗号化されたサインイン トークンの AES-GCM。 | shared/cutout/loader.js, shared/library/store.js, shared/sync/tokens.js | w3.org/TR/WebCryptoAPI · MDN |
| 通知 | 通知を許可するボタンを押した後にのみ、リマインダー用のブラウザー通知を表示します。 | reminders/js/app.js, shared/reminders/engine.js | WHATWG Notifications · MDN |
| BroadcastChannel | このサイトの開いているタブ同士のメッセージ(チャンネル slopographic)。ブラウザーの内側にとどまります。 | shared/hub.js | WHATWG HTML, Broadcasting · MDN |
Web Share: navigator.share() | 「共有」を押したときにのみ、システムの共有シートを表示します。その後、システムがファイルを選んだアプリに送ります。 | shared/preview/chrome.js, ai/js/ui/speccard.js | w3.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.js | W3C Web Machine Learning CG draft · Chrome |
| WebSocket | お使いのコンピューター上の AI アプリ(Slopographic MCP サーバー)への接続。「AI アプリに接続…」を選んだ後にのみ行われます。接続先は ws://127.0.0.1、つまりこのコンピューターだけです。 | shared/agent/bridge.js | WHATWG WebSockets |
| Fetch | アプリにおけるすべてのネットワーク リクエスト。全一覧は送信リクエストにあります。 | 約 30 のファイルにある約 35 の fetch( 呼び出し箇所(いくつかはコメント) | WHATWG Fetch · MDN |
このデバイスに保存される内容
以下のものはすべて、このデバイス上のこのブラウザーに保存されます。サーバーに送られるものはありません。サイトごとに個別のストレージを持つため、別のブラウザーで同じアプリを使うと、それぞれ別のコピーを持ちます。
| 名前 | 種類 | 保存内容 | 設定場所 |
|---|---|---|---|
slop-drive | IndexedDB | Slop Drive のファイルとフォルダー。ファイルの内容を含みます。 | shared/hub.js |
slop-drive-folders | IndexedDB | 名前付きのローカル ドライブ: 各フォルダー ハンドルとその名前。ドライブを削除すると、ハンドルだけが忘れられます。 | drive/js/core/drives-store.js |
slop-sync, slop-sync-local | IndexedDB | 暗号化されたクラウドのサインイン トークン(抽出不可のキーによる AES-GCM)。選んだバックアップ フォルダーのハンドル。 | shared/sync/tokens.js, shared/sync/providers/local.js |
slop-data | IndexedDB | 業務データ: 顧客、商品、在庫、請求書、支払い、元帳の項目(shared/data/schema.js)。 | shared/data/store.js |
slop-library | IndexedDB | 「さらに入手」からインストールしたフォント、およびご自身で追加したフォント ファイル。 | shared/library/store.js |
slop-aitools, slop-ai | IndexedDB | インストールした AI ツールのモデル、および AI チャットアプリのチャット。 | aitools/models.js, ai/js/core/store.js |
slop-session | IndexedDB | 各アプリで開いている表示と未保存の下書き。再訪問時に続きから作業できるようにします。 | shared/session/session.js |
slop-consent | localStorage | 分析、広告、為替レートの選択。選ぶまではオフです。 | shared/consent/state.js |
slop-sync | localStorage | クラウド同期の設定: OAuth クライアント ID と最後の同期時刻。トークンはここには保存されません。 | shared/sync/config.js |
slop-ai-keys | IndexedDB | AI のキーは、「このデバイスに保存」にチェックを入れた場合にのみ保存されます。チェックがなければ、キーはこのタブ(sessionStorage)に保持され、タブを閉じると消えます。バックアップからは除外されます。 | shared/ai/cloud/keys.js |
slop-ai.cloud, slop-ai.imagegen, slop-ai.permissions | localStorage | 選んだ AI サービスとモデル、利用上限、画像の設定、与えた AI の権限。キーは保存されません。 | shared/ai/cloud/keys.js, shared/ai/imagegen/core.js, shared/ai/permissions.js |
slop-ai.signin | sessionStorage | OpenRouter でサインインしている間: サインインがこのタブから始まったことを証明する、一度限りの PKCE 検証子と state。一度使われ、タブを閉じると消えます。キーではありません。 | shared/ai/cloud/signin.js |
slop.agents | localStorage | 「AI エージェントにこのアプリの使用を許可」をオフにすると「off」が保存されます。オンの間は何も保存されません。 | shared/agent/boot.js |
slop.bridge | sessionStorage | このタブがお使いのコンピューター上の AI アプリとペアリングされている間: ポートとペアリング トークン。再読み込みしても接続を保つためです。接続を切断するかタブを閉じると消えます。 | shared/agent/bridge.js |
slop-profile | localStorage | 既定値から変更した、アプリごとの設定。 | shared/profile/profile.js |
slop-drive.prefs, slop-drive.theme | localStorage | Slop Drive の表示設定とテーマ。 | drive/js/core/util.js |
slopographic-v38 | Cache Storage | オフラインでもサイトが動作するように保存された、サイト自身のファイルのコピー。 | service-worker.js |
slop-cutout-v1 | Cache 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.co | AI チャット(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.com | AI チャット(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.com | Dropbox へのクラウド同期(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/keys | AI パネルの「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 と分析
- サイトのコードが保存するもの: 同意の選択を localStorage に保存します(
slop-consent)。分析、広告、レートは、選ぶまではオフです。ストレージはブラウザーでいつでも消去できます。 - サイトのコードが保存しないもの: Cookie もアカウントもありません。リポジトリが Cookie を書き込むことはありません。
- Google アナリティクス: ホームページでは、
analytics_storageを拒否に設定した状態でタグが読み込まれます。分析に同意したときにのみオンになります。その他のページでは、同意した後にのみ読み込まれます。 - Google 自身のスクリプトは、実行時に独自の Cookie を設定することがあります。それは Slopographic のコードではなく Google が決めることです。以下の確認手順で、ブラウザーが実際に何を保存しているかを確認できます。
- 広告: AdSense は、広告に同意した後にのみ読み込まれます。広告を拒否すると、広告枠は空のままになります。
オフラインでの利用
初回の訪問後、サイト自身のファイルは、サービス ワーカー(service-worker.js。ファイル一覧は sw-precache.js)によって Cache Storage に保存されます。ページはまずネットワークで確認し、次にキャッシュから読み込み、最後にオフライン ページを表示します。ご自身のファイルはサービス ワーカーのキャッシュには入りません。選んだフォルダーか IndexedDB にあります。ネットワークがオフでもアプリは動作を続けます。ダウンロード(上記のモデルやフォント パック)は、初回だけネットワークが必要です。
ご自身で確認する方法
- Network タブ(ページを読み込んだ状態で)。アプリを開き、F12 キー(Mac では Cmd+Option+I)を押して Network タブを開きます。「Preserve log」(ログを保持)にチェックを入れてから再読み込みします。Domain 列を確認してください。通常の訪問では、
slopographic.comだけが表示され、ホームページではさらに Google の分析ドメインが表示されます。 - Network タブ、オフライン。Network タブのスロットリング メニューで「Offline」を選びます。再読み込みし、ファイルを開いて編集し、保存します。アプリは動作するはずです。ダウンロードが必要なものは、その旨が表示されます。
- Application タブ、ストレージ。Chrome または Edge で Application タブを開きます。Storage の下で、Local storage、Session storage、IndexedDB、Cookies、Cache Storage、Service workers を確認します。見えるものを、このページの表と比べてください。
- 同意または拒否をして比較する。同意バナーで分析と広告を拒否し、再読み込みして Network タブを再度確認します。その後で同意し、どのリクエストが現れるかを確認します。
- ソースを読む。コードは、GitHub の slopographic リポジトリで公開されています。このページの各項目を確認するには、
fetch(、indexedDB.open、localStorage、showDirectoryPickerを検索してください。同意のコードはshared/consent/、クラウド同期はshared/sync/、ダウンロード一覧はshared/library/とaitools/にあります。
ローカル フォルダー(File System Access API)には Chrome または Edge が必要です。Firefox と Safari はこれを提供していないため、該当する場合はアプリにその旨が表示されます。