Memories / ドキュメント

このページの内容

Wiki ドキュメント内のシークレット

シークレット参照を使用すると、記憶またはナレッジカードの現在の本文に含まれる既知のパスワードやトークンを置き換えられます。ドキュメントには {{secret:API_KEY}} のようなマーカーが残り、同じ保管庫内の暗号化された認証情報がその値を保持します。現在の読み取り、検索、MCP はマーカーを展開しません。

この機能には、更新済みの CLI/デーモンまたはモバイルアプリが必要です。参照を含むドキュメントを同期する前に、すべてのクライアントを更新してください。旧クライアントは新しいコンテンツフィールドをデコードできません。セキュリティ境界と検証結果を参照してください。

シークレットを置き換える

デーモンを起動し、ライブラリをロック解除してください。一覧または検索で返された短い保管庫 ID とドキュメント ID を使用します。置換前に、同じターミナルで sudo を実行してください。

memories sudo
memories memory protect-secret VAULT_ID DOCUMENT_ID API_KEY

ナレッジカードには次を使用します。

memories card protect-secret VAULT_ID CARD_ID API_KEY

CLI は、入力を表示せずに正確なシークレットの入力を求めます。シークレットを引数や参照名に含めないでください。置換は大文字と小文字を区別するリテラル一致で、正規表現は使用しません。現在の本文にある、重なりのない一致をすべて置き換えます。たとえば、同じ合成トークンを 2 回含む本文は次のようになります。

API_KEY={{secret:API_KEY}}
Authorization: Bearer {{secret:API_KEY}}

成功すると、通常の JSON 応答でドキュメントの id、新しい credential ID、replacements の数が返されます。認証情報の作成とドキュメントの置換は同時にコミットされます。操作が拒否された場合は、どちらの変更も保存されません。

モバイルアプリでは、記憶/カードのメニューを開き、ドキュメント内のシークレットを保護を選択して履歴の警告を確認し、参照名を入力してから非表示フィールドにシークレットを入力します。求められたらパスワード認証を完了してください。

参照名は 1-64 文字の ASCII 英字、数字、アンダースコア、ハイフンで構成し、そのドキュメント内で未使用である必要があります。ドキュメントは最大 64 個の参照を保持できます。置換にはローカル sudo と保管庫への書き込み権限が必要です。次の場合は拒否されます。

  • シークレットが空、または現在の本文に存在しない。
  • 名前が無効、すでにマッピング済み、またはそのマーカーが本文にすでに存在する。
  • シークレットがタイトル、タグ、ソースなどのメタデータにも存在する、新しいマーカー内に残る、または既存の参照マーカーを変更してしまう。
  • ドキュメントに未解決の競合バージョンがある、または結果のコンテンツがサイズや参照数の上限を超える。

再試行する前に、メタデータから露出した値を削除し、競合を解決してください。これらの編集でも署名済みの過去のバージョンはそのまま残ります。

現在の値をコピーする

コピーにはローカル sudo が必要です。ドキュメント参照の場合は、参照が 1 個だけでもラベルを指定してください。認証情報または保護されたカードの場合は、その ID を使用します。

memories sudo
memories credential copy VAULT_ID DOCUMENT_ID --label API_KEY
memories credential copy VAULT_ID CREDENTIAL_ID
memories credential copy VAULT_ID PROTECTED_CARD_ID

CLI はシステムクリップボードに書き込み、コピー状態("copied": true)のみを出力します。認証済みのローカルクライアントは、コピーを実行するために平文を受け取ります。汎用の認証情報の読み取りとエクスポートは引き続き利用できず、MCP は書き込み許可があっても置換やコピーを実行できません。

モバイルアプリでは、ドキュメント、保護されたカード、または認証情報のメニューからシークレットをコピーを選択します。ドキュメントの場合は参照名を選択し、クリップボードの警告を確認し、求められたら認証を完了してください。アプリは値を表示せずに成功を示し、バックグラウンド移行またはロック後に届いた応答を破棄します。

保護されたアカウントカードとトークンカードは、保存されたパスワードまたはトークンをコピーします。env カードは保存された dotenv テキストをコピーします。OTP カードは Base32 シードをコピーします。現在のワンタイムコードを生成するには、別の OTP 操作を使用してください。クリップボードへのコピーは UTF-8 テキストのみを受け付け、NUL バイトを含む認証情報を拒否します。

プラットフォーム クリップボードの要件
Windows CLI ネイティブ Windows クリップボードへのアクセス
macOS CLI CLI 環境で pbcopy が利用可能
Linux CLI、WAYLAND_DISPLAY が設定されている場合 wl-copy と Wayland セッションへのアクセス
Linux CLI、それ以外の場合 xclip と X11 クリップボードへのアクセス
モバイル Flutter 経由のプラットフォームクリップボード

Linux は WAYLAND_DISPLAY からヘルパーを選択し、wl-copy から xclip への自動フォールバックは行いません。ヘルパーがない場合やクリップボードにアクセスできない場合、コマンドは失敗します。サービスは値をクライアントに送信する前に配信意図を記録するため、その監査記録だけではクリップボードへのコピー成功を証明できません。

編集、同期、制限

ドキュメントの型付き secrets マップは、ラベルを認証情報 ID に結び付けます。マーカーを手動で入力しても、認証情報は作成されず、アクセス権も付与されません。通常の編集では既存のマップを保持する必要があり、CLI とモバイルエディターはこれを保持します。現在の MCP card_write ツールはこのマップを扱わないため、シークレット参照を持つカードの更新は拒否されます。そのようなカードには CLI またはモバイルエディターを使用してください。本文からマーカーを削除しても、マッピングや認証情報は削除されません。

参照は認証情報の現在値を解決します。更新するには、返された認証情報 ID を認可済みの認証情報置換コマンドで使用します。たとえば memories credential add VAULT_ID API_KEY --id CREDENTIAL_ID は、入力を非表示にして値の入力を求めます。ドキュメントのマーカーは変わりません。これは保存された値を変更します。プロバイダー側のキーのローテーションは別途実行する必要があります。

ドキュメントと認証情報は、暗号化同期中に保管庫とともに転送されます。独立したバックアップ復旧は、曖昧さのないアセットの参照を保持します。デバイス限定の保管庫は引き続き同期とバックアップから除外されます。参照先の認証情報を削除した場合や、競合したままにした場合、その参照によるコピーはできなくなります。

置換で変更されるのは現在の本文だけです。過去の署名済みリビジョン、復旧アーカイブ、既存のバックアップ、他のドキュメント、共有されたコピーには元のシークレットが残ることがあります。すでに露出したキーは発行元で取り消すかローテーションしてください。

クリップボードの内容はロック後も残る場合があり、他のアプリ、クリップボード履歴、OS の同期によって読み取られたり保持されたりすることがあります。使用後はクリップボードを消去してください。アプリケーションはクリップボードの消去を保証しません。