オフラインで動くPWAは、サーバー代と一緒に、データを守る責任も利用者に渡す

サーバー費用ゼロ、という売り文句は、費用が消えたという意味ではありません。請求先が、利用者自身の注意力に変わったという意味です。

外部サーバーを使わず、PCのブラウザの中だけで動くWebアプリ(PWA)は、2025年時点で業務に使える水準のものが増えています。この記事では、代表的なアプリと支える技術を確かめたうえで、オフライン完結の本当の代償は機能の少なさではなく、データを守る責任と引き継ぐ責任を、一人の利用者が背負うことだ、という見方を述べます。どの作業なら手元に閉じてよいかを見分ける問いも示します。

オフラインPWAは、分野を問わず業務の道具になっている

オフラインPWAは、一度読み込めばネット接続なしで動き、データを端末のブラウザ内ストレージか、PC内のフォルダに保存します。2025年時点で知られていた主な分野と例は次のとおりです。

分野主な用途代表例
ノート、文書管理メモや文書の作成と管理Bangle.io、Anonynote、Notella
プレゼン支援スライド作成、発表の時間管理DeckDeckGo、StageTimer
帳簿、経理家計簿、予算管理TOKT、Actual Budget
データ分析手元のCSVやSQLiteの可視化sqliteviz
時間記録作業時間やタスクの記録Tie Tracker、ポモドーロタイマー
ファイル編集画像編集、図表、ホワイトボードPhotopea、draw.io、Excalidraw

Bangle.io は、PC内の指定フォルダを保管庫にして Markdown ファイルを読み書きするノートアプリです。sqliteviz は、SQLite のエンジンを WebAssembly 化した sql.js を組み込み、読み込んだデータをブラウザ内で SQL 集計してグラフにします。Photopea は PSD や PNG をブラウザ上で加工でき、ファイルはサーバーに送られないと明言されています。Tie Tracker は、クラウドも認証もサーバーのデータベースも持たない時間記録アプリで、作業時間を IndexedDB に保存し、レポートの出力もブラウザ内で完結します。

五つの技術のうち、データの行き先を決めるのは二つの系統だけ

これらのアプリは、主に五つの技術の組み合わせで動いています。Service Worker は画面や資源をキャッシュし、ネットがなくても起動できるようにします。初回にすべてをキャッシュして以後は即座に起動する作り方は、アプリシェルと呼ばれます。WebAssembly は、C++ などで書かれた重い処理をブラウザ内で速く動かします。この二つは、アプリを動かすための技術です。

データの行き先を決めるのは、残りの三つです。IndexedDB と LocalStorage はブラウザの内側に保存し、File System Access API は利用者の許可のもとでPC内のファイルを直接読み書きします。Bangle.io のノートはフォルダの中の Markdown ファイルとして残るので、ふだんのファイルのバックアップに乗ります。Tie Tracker の記録はブラウザの保存領域の中にあり、ブラウザのデータを消去すれば一緒に消えます。同じオフラインアプリでも、消え方がまるで違うのです。

データが外に出ないことは、データが一人と一緒に消えることでもある

オフライン完結の利点ははっきりしています。通信が悪い現場や移動中でも作業が止まらない。データが手元にとどまるので漏洩のリスクを減らせる。通信待ちがなく応答が速い。バックエンドの開発と維持の費用がかからない。

オフラインPWAの利点と制限

一方の制限も、裏返せば同じ一つの事実から出ています。データが各端末に閉じるので、複数の端末やチームで自動同期できない。バックアップは利用者の責任になる。保存容量はブラウザごとに上限や差があり、File System Access API のように Chrome 系のブラウザでしか動かない機能もある。承認フローやクラウド会計との自動連携も難しい。

漏れないデータは、ブラウザの消去ボタン一つで、漏れるより確実に消えます。サーバーにも同僚の端末にも写しがないからです。前任者のブラウザの中にしかない帳簿は、異動の日に組織の記憶から外れます。そして、情報漏洩が怖いからオフラインで、と決めた会議で、バックアップの担当者まで決まることはめったにありません。漏洩には損をする人の顔が浮かびますが、消失には責任者の欄がないからです。

手元に閉じてよい作業は、壊れたときに困る人の数で決まる

どの作業をオフラインのPWAに任せるかは、機能の比較より先に、二つの問いで決まります。そのデータを自分以外の誰かが必要とするか。失ったときに作り直せるか。

作業の性質オフライン完結との相性
自分だけが使い、失っても作り直せる(発表のタイマー、使い捨てのメモ)よい
自分だけが使うが、失うと戻らない(作業時間の記録、家計簿)フォルダに保存するアプリを選ぶか、定期的な書き出しを習慣にする
他人も参照する、いずれ引き継ぐ(チームの帳簿、承認の要る経理)向かない

この見方が当てはまらない場面もあります。同期サービスのフォルダに保存するアプリなら、責任は既存のバックアップの仕組みに戻ります。書き出し機能を持つアプリも多くあります。ただ、ブラウザが保存領域をどう扱うかはブラウザごとに違い、今後も変わりえます。自分の使っているブラウザで何が起きるかを、事前に完全には言い切れないのが実情です。

あなたのPCで、ブラウザのデータを消した瞬間に二度と戻らない業務の記録はどれでしょうか。その記録があることを、あなた以外の誰が知っていますか。

この記事の背景にある考え方は、拙著『ChatGPT はじめてのプロンプトエンジニアリング』の7章2節「アプリ開発」のうち「簡易ブラウザアプリとは」の項に書きました。HTML、CSS、JavaScriptを一つのファイルにまとめた、サーバーのいらないアプリをプロンプトだけで作る話で、運用費がかからず、手元で動き、ファイル一つなので保管も扱いやすい、という利点を挙げています。そこには「日常のちょっとした業務を楽にするためのアプリを作れます。」とあります。この項を読むと、自分の小さな手作業のどれを手元のアプリに置き換え、そのときデータをどこに置くかを、自分の仕事に当てはめて考えられるようになります。

AIの答えが物足りないとき、疑うべきはAIか、自分の言葉か。

ChatGPT はじめてのプロンプトエンジニアリング 表紙

『ChatGPT はじめてのプロンプトエンジニアリング』

AIは言葉でしか動かない。プロンプトを暗記するのをやめ、構成要素に分解して、自分の言葉で意図を込める力を鍛える本です。

読み終えたとき、手元に残るもの

  • 必須、任意、形式の三つに分けたプロンプトの構造
  • 回答の質を変える、意図を込めた生きたプロンプト
  • 発注と検収は人が担う、AIとの役割分担
  • 章末の演習プロンプト26題

4刷重版。全国の大学図書館65館が所蔵しています(2026年10月時点)。

Amazonで見る

著者プロフィール・お問い合わせ