ストレージと暗号化
Echolotがワークスペース、レスポンスのボディ、履歴をどこに保存するか、どれだけ保持するか、ディスク上のレスポンスのボディを暗号化する方法を説明します。
Echolotは、2種類のデータを分けて保持します。ワークスペースは、好きな場所に置くフォルダです。Echolot自身のデータ(レスポンスのボディ、履歴、クラッシュレポート)は、あなたのMac上のストレージフォルダにあります。そのフォルダを削除して失うのは履歴で、リクエストは失われません。
保存場所
| 項目 | 場所 |
|---|---|
| ワークスペース | 作成した場所、または置いた場所。 |
| シークレットの値、OAuthトークン、暗号鍵 | ログインキーチェーン。 |
| レスポンスのボディと通信のキャプチャ | Echolotのストレージフォルダ内のPayloads。 |
| 履歴 | Echolotのストレージフォルダ内のHistory。ワークスペースごとに1ファイル。 |
| 共有していないアシスタントの会話 | Echolotのストレージフォルダ内のAssistant。 |
| クラッシュレポート(許可した場合) | Echolotのストレージフォルダ内のCrash Reports。 |
| 自分のコードテンプレート | Echolotのストレージフォルダ内のCode Templates。書き出しを参照してください。 |
| サンプルのワークスペース | Echolotのストレージフォルダ内のExamples.echolot。 |
| 設定、グローバル変数、各ワークスペースのアクティブな環境 | Echolotの環境設定。 |
Echolotのストレージフォルダは~/Library/Application Support/Echolotです。開くには、設定 › 情報に移動して、レスポンスと履歴の横のFinderに表示をクリックします。
Mac App Store版
App Store版は、~/Library/Application Support/Echolotの代わりに、独自のコンテナに同じデータを保存します。
設定 › 情報 › Finderに表示を使えば、どちらのエディションでも正しいフォルダが開きます。ワークスペースは、どちらでも保管した場所にそのまま残り、どちらでも開けます。
レスポンスのボディ
レスポンスのボディはすべて、届いた時点でメモリに入れずに直接ファイルに書き込まれるので、数ギガバイトのレスポンスでも問題ありません。ボディは、何回届いても1回だけ保存されます。同じ応答が返る同じリクエストを10回送信しても、コピーは1つだけ保持されます。
ボディが使える容量は、設定 › ストレージ › レスポンスのボディで設定します。レスポンスのボディを保持する上限を1、2、5(デフォルト)、10、20、50 GBから選びます。このサイズを超えると、Echolotは最近使われていないボディから削除します。次のものは常に保持されます。
- 開いているタブに表示されているボディ
- 保存済みの各リクエストの最新のレスポンス(再起動後も再び表示されます)
$responseJSONPathなどの動的な値を通じて、ほかのリクエストが読むボディ
上限の下の行には、保存されているボディがディスク上で使っている容量が表示されます。その容量をすぐに解放するには、保存済みのボディを削除…をクリックして確認します。Echolotは、開いているウインドウに必要なものだけを残します。開いているタブに表示されているボディと、開いているワークスペースの各リクエストの最新のレスポンスです。開いていないワークスペースのものを含め、それ以外のボディはすべて削除され、元に戻せません。リクエストとその履歴は残り、古いレスポンスはボディなしで表示されます。
履歴は、各やり取りが送信したリクエストを保持します。256 KBを超えるリクエストボディは履歴に保持されませんが、通信のキャプチャには先頭部分が残ります。
履歴
設定 › ストレージ › 履歴では、履歴がリクエストごとに保持するレスポンスの数を、10、25、50(デフォルト)、100、200から設定します。古いエントリーから順に削除されます。すべての送信は、誰が行ったか(あなた、実行、エージェント)とともに保持されます。ワークスペースの履歴を消去するには、その履歴ページの⋯メニューの履歴を消去…を使います。リクエスト自身の履歴は、その履歴の一覧にある同じメニューから消去できます。

ディスク上のレスポンスのボディを暗号化する
レスポンスには、個人データ、トークン、そのほかAPIが返すあらゆるものが含まれることがあります。暗号化をオンにすると、レスポンスのどの部分も、キーチェーンの鍵がなければEcholotのストレージフォルダ内で読めません。
- 設定 › ストレージを開きます。
- レスポンスのボディをディスク上で暗号化をオンにします。
Echolotは初回に鍵を作成し、Echolot response storage keyという名前でログインキーチェーンに保管します。新しいボディは、すぐに暗号化されて書き込まれます。すでに保存されているボディは、バックグラウンドで暗号化されます。設定には、進み具合(「860個中120個を暗号化中…」)と、その後の状態(「保存済みのボディ860個がすべて暗号化されています。」など)が表示されます。
ボディは、カウンターモードのAES-256で暗号化されます。そのため、Echolotはボディの残りを復号せずに、任意の部分を読み取れます。ビューア、レスポンス内の検索、大きなボディは、これまでどおり動作します。
暗号化の対象
| 暗号化される | 暗号化されない |
|---|---|
| レスポンスのボディ | ワークスペースのファイル(もともとシークレットの値は入っていません) |
| 通信のキャプチャ(送受信した生のバイト列) | 履歴のファイル: 名前、アドレス、ヘッダー、ステータス、所要時間 |
| ボディの整形済みのコピー | Echolotの環境設定 |
履歴のファイルは暗号化されないので、暗号化がオンの間、履歴にはボディのテキストが保持されません。その場合、検索ではリクエストを名前、アドレス、ヘッダーで見つけられますが、ボディの内容では見つけられません。暗号化をオンにすると、履歴がすでにインデックスしていたボディのテキストは削除されます。シークレットの値は、暗号化がオンでもオフでも、履歴ではマスクされます。
オフにする
レスポンスのボディをディスク上で暗号化をオフにします。新しいボディは再び暗号化されずに書き込まれ、Echolotは保存済みのものをバックグラウンドで復号します(「860個中120個を復号中…」)。鍵はキーチェーンに残るので、まだ復号されていないボディも引き続き読めます。
暗号化がオンの間に記録されたレスポンスは、履歴のボディ検索の対象外のままです。それ以降のレスポンスは、再びボディで検索できます。
キーチェーンのEcholot response storage keyの項目は残しておいてください。Echolotは、暗号化されたボディを読むためにこれを必要とします。
鍵を作成または読み取れない場合は、設定にそのことが表示され(「暗号鍵をキーチェーンに保管できませんでした…」)、ボディはそのままです。
容量を空ける
- 設定 › ストレージのレスポンスのボディを保持する上限を下げます。Echolotは、その少し後に、最近使われていないボディを削除します。
- 履歴ページで、1つのリクエスト、またはワークスペース全体の履歴を消去します。
- Echolotを終了して、ストレージフォルダ内の
PayloadsまたはHistoryを削除します。過去のレスポンスと履歴は失われますが、リクエスト、環境、すべてのワークスペースのファイルは残ります。
