AI機能の使い方とデータの扱いAI Use and Data Handling

FrameSweepのAI解析は任意機能です。初期状態では無効で、ユーザーが設定で接続先を選び、必要なファイルに対して実行したときだけ使われます。

FrameSweep AI analysis is optional. It is disabled by default and runs only after you choose a provider and start it for selected media.

短い答え: LM Studioを選ぶとAI処理はユーザーのMac上またはユーザーが指定したローカルAPIで行われます。Cloudflare Workers AIを選ぶと、AI解析に必要なプレビュー画像、ファイル名、解析テキスト、検索文などがCloudflareへ送信されます。Cloudflare送信前にはアプリ内で明示確認します。

AI解析でできること

AI解析は、大量の動画・画像を見て整理するときの補助機能です。メディアの内容を説明する短いキャプション、カテゴリ、被写体、色、雰囲気、整理先の候補、圧縮候補、要確認フラグ、ファイル名候補などを作ります。結果は検索、絞り込み、移動先候補、変換候補の判断材料として使います。

AIの判定は最終判断ではありません。削除、移動、変換、ゴミ箱への移動はユーザー操作で行います。

接続先の種類

LM Studio / ローカル

ユーザーが自分のMacで起動したLM StudioなどのOpenAI互換APIへ接続します。FrameSweepの開発者サーバーへメディアを送信しません。API URLを変更した場合は、指定した接続先の管理責任はユーザー側にあります。

Cloudflare Workers AI

FrameSweepのCloudflare Workerを通じてCloudflare Workers AIへ解析を依頼します。外部AIに送信されるため、初回送信前に確認を表示します。Pro購入確認にはApp Storeの取引情報を使います。

検索の方法

通常検索

ファイル名、フォルダ名、AIが作成したキャプション、カテゴリ、タグ、整理先候補などをローカルで検索します。これはMac上のメモリとローカルSQLiteインデックスで動きます。

SQLite全文検索

解析済みのAIテキストはローカルSQLiteデータベースにも保存され、FTS全文検索で高速に探せます。1万件規模でも、全件を毎回JSONで読み込まずに検索できるようにしています。

意味検索 / Embedding検索

Embeddingモデルを設定した場合、検索文と解析済みテキストをベクトル化し、意味が近いメディアを探します。LM Studio設定ではローカルAPIへ送信します。Cloudflare設定では、検索文と解析済みテキストがCloudflare Workerへ送信されます。同意前の自動検索ではCloudflare Embeddingを使わず、ローカルSQLite検索のみ使います。

Mac上に保存するデータ

  • AI解析結果: キャプション、カテゴリ、タグ、整理先候補、要確認フラグ、ファイル名候補など。
  • 検索用テキストとSQLite全文検索インデックス。
  • Embeddingを使う場合のローカルEmbedding値、モデル名、テキストハッシュ。
  • AI設定: 有効/無効、接続先、モデル名、Worker URL、Cloudflare送信同意の日時と対象URL。
  • サムネイル、コンタクトシート、アプリ設定、macOSフォルダ権限情報。

これらはユーザーのMac上のアプリデータとして保存されます。元の動画・画像ファイルそのものをAIインデックスへ複製して保存する設計ではありません。

Cloudflareへ送信されるデータ

Cloudflare Workers AIを選び、同意してAI解析または意味検索を実行した場合、次のデータが送信されることがあります。

  • AI解析に必要な静止画プレビュー、コンタクトシート、または縮小された画像データ。
  • ファイル名、メディア種別、解析プロファイル、ユーザーが設定したカテゴリ候補。
  • AIに渡すプロンプト、AIが返した解析結果。
  • 意味検索で使う検索文、解析済みテキスト、Embeddingモデル名。
  • Pro購入確認のためのApp Store取引IDなど、権利確認に必要な情報。

ライブラリ全体を自動でアップロードする機能ではありません。AI解析や意味検索の対象になった項目だけが送信対象です。

Cloudflare側で保持するデータ

FrameSweepのWorkerは、乱用防止、Pro権利確認、障害調査、使用量把握のためにD1データベースへ最小限のメタデータを保存します。

AI request logs
時刻、モデル名、処理種別、HTTPステータス、処理時間、概算入力/出力サイズ、エラー種別など。通常、メディア本文は保存しません。
Pro entitlements
App Store取引に基づくPro権利の確認結果、製品ID、元取引ID、環境、期限、更新日時など。
AI sessions
短期間のAIセッションキーのハッシュ、有効期限、関連する権利キー。セッションキー本文は保存しません。
R2 archive
本番運用では解析リクエスト本文保存を無効にします。有効化した場合だけ、調査用にリクエスト/レスポンス本文が保存される可能性があります。

保持期間の考え方

  • Mac上のAI解析結果、SQLiteインデックス、Embedding値、キャッシュは、ユーザーがアプリ内で削除するまで保持されます。
  • CloudflareのAIセッションは短期間の認証用で、通常は約7日で期限切れになります。
  • Cloudflare側のPro権利確認データは、Pro利用資格の確認と不正利用防止に必要な間保持します。
  • Cloudflare側のAIリクエストメタデータは、障害調査、乱用防止、使用量把握に必要な間保持します。削除依頼はメールで受け付けます。
  • R2への解析リクエスト本文保存は本番では無効です。有効化した場合は調査目的に限定し、不要になった時点で削除します。

削除方法

  • 現在のフォルダのAI解析結果は、アプリ内のAI解析結果削除から削除できます。
  • すべての保存済みAI解析結果もアプリ内から削除できます。
  • サムネイルやコンタクトシートなどのキャッシュは設定画面から削除できます。
  • アプリ設定、権利情報、ローカルSQLiteインデックスを含めて消す場合は、FrameSweepのアプリコンテナデータをmacOSから削除してください。
  • Cloudflare側のPro権利確認データやAIリクエストメタデータについて削除依頼が必要な場合は、[email protected] へ連絡してください。

不安な場合のおすすめ設定

個人的、機密性の高い、公開前の素材を扱う場合は、CloudflareではなくLM Studio / ローカル接続を選ぶか、AI解析を無効のまま使ってください。AIを使わなくても、プレビュー、仕分け、変換、重複候補確認、ゴミ箱移動などの基本機能は利用できます。

Short version: LM Studio keeps AI processing on your Mac or on the local API endpoint you configure. Cloudflare Workers AI sends the media preview, file name, analysis text, search query, and related request data needed for AI processing to Cloudflare. FrameSweep shows an explicit confirmation before Cloudflare AI data is sent.

What AI analysis does

AI analysis helps you review large video and image folders. It can create captions, categories, object tags, color and mood tags, destination suggestions, compression hints, sensitive-review flags, and file-name suggestions. FrameSweep uses those results for search, filtering, suggested moves, and cleanup decisions.

AI output is advisory. Moving, converting, deleting, or sending files to Trash remains a user action.

Provider options

LM Studio / local

FrameSweep connects to an OpenAI-compatible API such as LM Studio running on your Mac. Media is not sent to a developer server. If you change the API URL, the destination you choose is under your control.

Cloudflare Workers AI

FrameSweep can use a Cloudflare Worker to request analysis from Cloudflare Workers AI. Because this is an external AI service, FrameSweep asks for confirmation before sending data. Pro entitlement verification uses App Store transaction information.

How search works

Normal search

FrameSweep searches file names, folder names, AI captions, categories, tags, and destination suggestions locally on your Mac.

SQLite full-text search

AI text is indexed in a local SQLite database using full-text search, so large analyzed folders can be searched without loading a large JSON file every time.

Semantic / embedding search

If an embedding model is configured, FrameSweep can compare the meaning of your search query with AI-generated text. With LM Studio, this goes to your local API. With Cloudflare, the query and analyzed text are sent through the Worker to Cloudflare. Before consent, automatic search uses local SQLite search only.

Data stored on your Mac

  • AI analysis results such as captions, categories, tags, suggestions, and review flags.
  • Search text and a local SQLite full-text index.
  • Local embedding vectors, model name, and text hash when embedding search is used.
  • AI settings, including provider, model names, Worker URL, and Cloudflare consent timestamp and endpoint.
  • Thumbnails, contact sheets, app preferences, and macOS folder permission data.

Data sent to Cloudflare

When you choose Cloudflare Workers AI and confirm use, FrameSweep may send:

  • Still-image previews, contact sheets, or downscaled image data needed for AI analysis.
  • File name, media type, analysis profile, and configured destination categories.
  • The AI prompt and AI response.
  • Search query, analyzed text, and embedding model name for semantic search.
  • App Store transaction identifiers needed for Pro entitlement verification.

FrameSweep does not automatically upload your whole library. Only items you analyze or search with Cloudflare AI are sent.

Data retained by the Cloudflare Worker

AI request logs
Timestamp, model, route, HTTP status, duration, approximate input/output size, and error category. Media bodies are not normally stored.
Pro entitlements
Pro purchase verification state based on App Store transactions, including product ID, original transaction ID, environment, expiration, and update time.
AI sessions
Hash of the short-lived AI session key, expiration, and linked entitlement key. The session key itself is not stored.
R2 archive
Production operation keeps request-body archiving disabled. If enabled for debugging, request/response bodies could be stored for investigation.

Retention

  • AI analysis results, the SQLite index, embedding values, and caches on your Mac are kept until you delete them in the app or remove the app container data.
  • Cloudflare AI sessions are short-lived authentication records and normally expire after about 7 days.
  • Cloudflare-side Pro entitlement records are retained while needed to verify Pro access and protect the service.
  • Cloudflare-side AI request metadata is retained while needed for troubleshooting, service protection, and usage accounting. Deletion requests can be sent by email.
  • R2 request-body archiving is disabled in production. If enabled for investigation, request-body archives are limited to debugging and removed when no longer needed.

Deletion

  • You can delete AI analysis results for the current folder from inside the app.
  • You can delete all saved AI analysis results from inside the app.
  • You can clear thumbnail and contact sheet caches in Settings.
  • To remove app settings, entitlement records, and the local SQLite index, delete FrameSweep's macOS app container data.
  • For deletion requests related to Cloudflare-side Pro entitlement records or AI request metadata, contact [email protected].

If you are concerned

For private, sensitive, or unreleased media, use LM Studio / local AI or leave AI analysis disabled. FrameSweep's core preview, sorting, conversion, duplicate review, and cleanup workflows work without AI.