自動保存機能付き セキュアメモ帳

入力したテキストを自動保存し,誤ってタブを閉じてもデータが失われないローカルメモ帳です.

読み込み中...

ZeroToolsのブラウザ内処理とプライバシー

ZeroToolsは、入力内容を端末内で処理するツールを中心に提供しています。各ツールの対応範囲と制限を確認して利用してください。

データの取り扱い・プライバシー方針
第1章

ブラウザ完結型暗号化テキストエンジンの基盤アーキテクチャ

クライアントサイドにおけるテキストデータの機密保持と永続化を両立させるため、このセキュアテキストエディタはサーバーサイドのデータベースを一切介在させないゼロトラスト型のアーキテクチャを採用しています。テキスト入力領域から発生するすべてのキーストロークイベントは、ブラウザのメインスレッド上で動作する軽量なイベントリスナーによって捕捉され、直ちにローカルの揮発性メモリ空間にバッファリングされます。

ネットワーク通信を遮断した状態でも完全に機能するスタンドアロン設計により、中間者攻撃やサーバー側のデータ漏洩リスクを根本的に排除しています。また、ドキュメントオブジェクトモデルの更新とデータ永続化処理を分離することで、大量のテキストを処理する際のリフローやリペイントの発生を最小限に抑え、ブラウザのレンダリングパイプラインを阻害しない滑らかなタイピング体験を実現しています。

入力文字数が数万文字規模に達した場合でも、抽象構文木のような複雑なパース処理を省き、プレーンテキストのまま高速に扱うバッファ管理手法によって、メモリ消費量を一定水準以下に維持する独自のガベージコレクション戦略が組み込まれています。

第2章

**Web Crypto API**を用いた**AES-GCM** **256bit**暗号化フロー

ユーザーが入力した機密テキストは、不揮発性ストレージに保存される直前にWeb Crypto APIのサブシステム関数であるサトルクリプトインターフェースを通じて強固に暗号化されます。ユーザーが設定したマスターパスワードは、PBKDF2アルゴリズムとSHA-256ハッシュ関数によって数万回のストレッチング処理を受け、256ビットの強固な暗号化キーへと変換されます。

このキー導出プロセスにより、レインボーテーブルを用いた辞書攻撃や総当たり攻撃に対する耐性が飛躍的に向上します。生成された暗号化キーと、オペレーティングシステムの乱数生成器から取得したセキュアな初期化ベクトルを組み合わせ、AES-GCMモードによる暗号化が実行されます。

ガロアカウンタモードを採用することで、データの秘匿性だけでなく完全性も同時に保証され、ストレージ上の暗号化データが第三者によって不正に改ざんされた場合でも、復号処理時に認証タグの検証エラーとして検知し、偽造されたデータの読み込みを阻止します。

暗号化キー自体はブラウザのメモリ上にのみ一時的に保持され、ウィンドウが閉じられるかセッションがタイムアウトした瞬間に参照が破棄されるため、デバイスが物理的に盗難された場合でもデータが復元されることはありません。

第3章

**IndexedDB**とlocalStorageのハイブリッドストレージ戦略

テキストデータの永続化と瞬時の状態復元を実現するため、階層型のブラウザローカルストレージアーキテクチャが実装されています。小規模な設定データやアクティブなタブの状態、UIの表示設定などはアクセスレイテンシが極めて低い同期型のlocalStorageに格納され、ブラウザの起動直後に即座に読み込まれます。

一方、数メガバイトに及ぶ可能性のある暗号化済みのメモ本体データや履歴バックアップデータは、非同期APIであるIndexedDBのオブジェクトストアに保存されます。IndexedDBのトランザクションメカニズムを活用することで、複数タブからの同時書き込みによる競合を防ぎ、データの不整合や破損を防止しています。

この二重構造により、高速なアプリケーション起動と大量データの安全な保存という相反する要件を両立させています。ストレージのクオータ制限に近づいた場合は、古い履歴データから優先的に自動パージするLRUキャッシュアルゴリズムに似たガベージコレクションがバックグラウンドワーカーで静かに実行され、ユーザーの作業を中断させることなく空き容量を確保するインテリジェントなストレージ管理機能が稼働します。

第4章

デバウンス制御による500ms自動保存と履歴バックアップ機構

入力途中の予期せぬブラウザクラッシュや電源喪失によるデータ消失を防ぐため、非常に精密な自動保存エンジンが実装されています。連続するキーストロークごとに保存処理を実行するとストレージIOが飽和状態になるため、タイマーAPIを用いたデバウンス回路が入力イベントを監視しています。

ユーザーのキーボード入力が500ミリ秒間途切れたタイミングを見計らい、メモリ上の最新バッファと直前のコミット状態との差分を評価した上で、IndexedDBへの非同期書き込みトランザクションを発行します。この時、単に既存のレコードを上書きするのではなく、タイムスタンプを付与したスナップショットとして履歴オブジェクトストアに追記保存する追記型アーキテクチャを採用しています。

これにより、ユーザーが誤ってテキストの大部分を削除してしまった直後に自動保存が走った場合でも、過去の任意のスナップショットまで遡って内容を復旧させることが可能です。履歴の保存件数はストレージ容量に応じて動的に調整され、最新のデータほど高密度に、古いデータほど間引きして保存する間隔調整アルゴリズムによって、バックアップの有用性とストレージ効率の最適化を図っています。

第5章

セッションライフサイクルとタブ切り替え時の暗号ロック機構

機密性の高いテキストデータを扱う環境では、ユーザーが離席した際の肩越しハッキングや盗み見を防止するメカニズムが不可欠です。ページビジビリティAPIを監視する専用のリスナーが、ブラウザのタブが非アクティブになった状態や最小化された状態をリアルタイムに検知します。

アクティブ状態から非アクティブ状態への遷移が確認されると、即座にメモリ上の平文テキストバッファをクリアし、画面上のテキストエリアを不透明なマスキングレイヤーで覆い隠す暗号ロック状態へと移行します。再びテキストを閲覧・編集するためには、マスターパスワードの再入力による復号キーの再生成が要求されます。

また、一定時間ユーザーの入力操作が検出されない場合は、マウス移動やスクロールイベントを監視するアイドルタイマーが作動し、事前に設定されたタイムアウト閾値を超過した時点で自動的にセッションを破棄してロック画面に遷移します。同一オリジン内の複数のタブ間では、ブロードキャストチャンネルAPIを通じてロック状態の同期信号が送受信され、一つのタブでロックがかかると他のすべてのタブも連動して即座にロックされる堅牢なセッション保護ネットワークが構築されています。

第6章

エクスポート処理とプレーンテキストのローカルレンダリング

蓄積された暗号化テキストを外部のツールで利用するための安全なデータ抽出パイプラインが用意されています。ユーザーがエクスポートを指示すると、IndexedDBから該当する暗号化レコードが読み込まれ、メモリ上で平文化された後、Blobオブジェクトとしてインスタンス化されます。

このBlobデータはURLクリエイトオブジェクトURL関数によって一時的なローカルアクセス用のユニバーサルリソースロケータに変換され、HTMLのアンカー要素のダウンロード属性を通じてユーザーのローカルファイルシステムに直接保存されます。この全行程においてデータは一度も外部ネットワークに出ることなく、TXT形式またはMarkdown形式のプレーンテキストファイルとして書き出されます。

Markdown形式での出力時には、文法ハイライトやリスト構造を維持したまま改行コードが環境に応じて最適化され、他のマークダウンエディタやバージョン管理システムとのシームレスな連携を可能にします。ブラウザのサンドボックス環境内でファイルの生成とダウンロードを完結させることにより、機密情報を保持したままポータビリティを確保し、究極のローカルファーストなドキュメント管理を実現しています。

よくある質問(FAQ)

A.
はい,入力されたデータや操作情報は一切外部のサーバーへ送信されず,お使いの端末(PCやスマートフォン)のブラウザ上でのみ安全にローカル処理されます.
A.
はい,一度読み込めばオフライン環境でもすべての機能をご利用いただけます.レスポンシブデザインを採用しているため,スマートフォンの画面でも操作しやすいレイアウトになっています.
A.
Google Chrome,Safari,Microsoft Edge,Firefoxなどの主要なモダンブラウザの最新バージョンで動作します.