localStorage の仕組みと容量制限

こぴぺったりがどのようにデータを保存しているか、localStorage の容量上限、データが消える条件、安全な使い方の指針を技術的に解説します。

「こぴぺったり」は 完全フロントエンド のアプリで、サーバーにユーザーデータを送信しません。すべてのデータはあなたのブラウザの localStorage という領域に保存されます。本ページでは、その仕組み・制限・注意点を解説します。

localStorage とは

ブラウザが提供する キーと値 のペアを保存する仕組みです。次のような特徴があります。

どんなキーを使っているか

「こぴぺったり」が使う localStorage のキーは以下の通り。

キー 用途
clipapp_folders フォルダ配列の JSON フォルダ階層と並び順
clipapp_items アイテム配列の JSON 全アイテムの本体データ
clipapp_last_folder 文字列 最後に開いたフォルダ ID (UI 復元用)
clipapp_theme "dark" または "light" テーマ設定
clipapp_drawer_width 数値 (px) 左ドロワーの幅 (リサイズハンドルで変更した値)

DevTools の Application タブ → StorageLocal Storage を開けば、上記のキーを直接確認できます。

容量の上限

ブラウザごとに概ね 5MB 程度 の上限があります。こぴぺったりは 1 つのキーに JSON 文字列としてまとめて保存しているため、UTF-8 換算で約 500 万バイトが理論上の上限です。

実用上の目安

ヘビーユーザーでも数千アイテム程度に収まることが多く、上限まで使い切る可能性は低いですが、長文のテンプレートを大量に保存する場合は注意してください。

容量超過時の挙動

書き込み時に容量を超えると、ブラウザは QuotaExceededError をスローします。こぴぺったりはこれを検知してエラートーストを表示するので、その時点でエクスポートして整理してください。

データが消える条件

localStorage は 永続的 ですが、以下のケースでは消える可能性があります。

1. ブラウザの「サイトデータを削除」操作

ブラウザの設定で「閲覧履歴の削除」「Cookie とサイトデータの削除」を実行すると、localStorage も同時に削除されます。最も多い消失原因です。

定期的にエクスポートしておくことで備えましょう。

2. シークレットモード / プライベートブラウジング

シークレットモードで使った場合、ウィンドウを閉じた時点でデータは消えます。「こぴぺったり」は永続利用が前提のため、通常モードで使ってください。

3. ストレージ容量超過

OS 全体のストレージが逼迫すると、ブラウザがキャッシュやサイトデータを自動削除することがあります (特に Safari)。

4. ドメイン変更

サブドメインを変更したり、独自ドメインから他ドメインに移行した場合、localStorage は オリジン (ドメイン) に紐付くため、自動では引き継がれません。エクスポート → インポートで手動移行してください。

5. ブラウザ拡張機能

一部のプライバシー強化拡張機能は、localStorage を定期的にクリアします。こぴぺったりを使うサイトを「例外」として登録しておくと安心です。

安全に使うための指針

  1. 月に1回エクスポート : クラウドストレージに保存しておくと万が一のときに復旧可能
  2. シークレットモードでは使わない : メインデータは通常モードで管理
  3. 大規模変更の前にスナップショット : 整理前にエクスポートしておく
  4. 複数端末で同期したい場合は手動移行 : 現在は自動同期非対応のため、エクスポート→インポートで対応

「サーバー保存にしてほしい」というご要望について

サーバー保存は技術的には可能ですが、

など、こぴぺったりが目指す「気軽な、永続的に無料な道具」というコンセプトと矛盾します。当面は localStorage + 手動エクスポートの構成を維持する予定です。

関連ページ