Unlockman🔒 ブラウザ内処理

ブラウザ内ローカル処理とは

Unlockmanは、選択したファイル本体やPDFパスワードをアプリケーションサーバーへ送信せず、 ブラウザ上のJavaScriptとWebAssemblyを使って処理します。

ファイルをアップロードしない設計

一般的なオンライン変換サービスでは、ファイルをサーバーへ送信して処理する方式があります。 Unlockmanではファイル選択後の解析・変換をブラウザメモリ内で行い、 解除結果もブラウザから直接ダウンロードします。アプリケーション側にファイル保管用APIやサーバーストレージを持ちません。

PDF処理とWebAssembly

PDFの暗号化状態の確認や対応可能な解除処理では、qpdf由来のWebAssemblyを同一オリジンのWeb Workerから実行します。 重い処理をUIスレッドから分離しつつ、ファイル内容を外部サーバーへ送らない境界を維持します。

ローカル処理にも限界がある

処理能力は利用端末のメモリやCPUに依存します。非常に大きいファイルや異常な圧縮構造を無制限に扱うのではなく、 ファイルサイズやZIP展開量などに安全上の上限を設けています。処理を拒否する場合は、 「失敗した」のではなく、端末やブラウザを守るための安全境界が働いている可能性があります。

Webサイト表示時の通信

アプリ本体のHTML、JavaScript、WebAssembly等を取得する通常のHTTPS通信は発生します。 ただし選択ファイル本体や入力パスワードをその通信へ含める実装はありません。 永続ブラウザストレージへファイルやパスワードを保存する処理も禁止しています。