Reddit Search API結論の前に、問いを。

読解ライブラリー

秘密情報を保存せずに検索履歴カードを作る

認証情報、送信条件、応答の観測、読者自身の解釈メモを分けて、量子化検索の役立つ履歴を残します。

再利用できる公開入力を列挙する

履歴カードの構成はAPIのフィルター契約に正確に合わせます。LocalLLaMAノートの例では、使ったq、subreddit、author、kind、from、to、min_score、limit、pageを保存します。短い例はq=quantization、subreddit=LocalLLaMA、limit=3、page=1です。日付は実際に送ったYYYY-MM-DDのUTC値で残します。これは条件の説明であり、特定の議論が返った証拠ではありません。再送しても将来の同じ応答を保証しません。

公開入力とは認証情報でないという意味であり、自動的に無害という意味ではありません。検索語に内部プロジェクト名、メモに公開する意図のない人物情報が入ることもあります。リクエスト全体を複製せず、何を保存・出力するか選びます。認証ヘッダーは履歴に入れません。レスポンスをローカル保存するなら、リクエストとは別物と示し、取得時刻を記録します。さもないと再検索リンクが以前の結果の保存コピーと誤解されます。

秘密情報の保存を別にする

X-API-KeyやAuthorization: Bearerを送るには、呼び出し側のバックエンドが保存したAPIキーへアクセスできる必要があります。一方向ハッシュだけでは送信用の認証情報になりません。利用可能なキーは適切なバックエンドの秘密保管先へ置き、ブラウザー配布コード、クエリ文字列、履歴の出力、診断ログから外します。サービスが認証用に保存するキーハッシュとプレフィックスは別の役割です。完全なキーは登録や再生成時の一度だけ表示され、再生成で旧キーは即無効になります。履歴を意図しないキーのバックアップにしてはいけません。

読者のアプリアカウント、サービス運用者のセッション、取得用のサービスAPIキーという三つの関係を分けます。キーと残高はテナント固有で、ホストを変えても別テナントのキーは有効になりません。履歴から認証情報を除くと漏えい経路を一つ減らせますが、保存クエリやメモがすべてのブラウザーや権限の問題から安全になるわけではありません。アプリ独自の保存・共有方法も確認します。この提案カードを、試験済みのセキュリティ境界やAPI提供の履歴機能として売り込まないでください。

解釈のメモを保存する

観測と結論を分けます。カードには、3件を表示した、1件は読める本文がなかった、実験のメモリ条件がまだ必要、と書けます。これは注釈の例であり、観測したアーカイブ結果ではありません。pagination.totalを残すならpagination.relationも残し、応答説明に必要な継続・境界情報も保存します。下限は正確な件数ではありません。どれもレコードの関連性や問題の一般性を測る値ではありません。

なぜ参照を残したかを読者が短く書けるようにします。独自メモと明記し、利用できる出典識別情報を保持して、引用した元の本文へ混ぜないでください。任意フィールドは欠けることがあり、親参照だけでは議論全体を得られません。保存済み応答を開くのにAPIは不要でも、明示的な更新は新規取得です。更新成功は空でも1クレジットです。失敗や結果不明の更新を別状態にし、以前の観測を説明のない空カードで上書きしません。

保持範囲を見直す

永続履歴を提供する前に、そのアプリでの削除、書き出し、有効期限を定めます。ローカルカードの削除が消すのは実装で選んだ保存データです。アーカイブレコードを消したり、サービスアカウントを閉じたり、支払い記録を変更したりはしません。ブラウザーの消去、端末紛失、保存制限で履歴がなくなることもあります。同期やバックアップを提供するなら別のアプリ機能として説明し、試験します。どちらもアーカイブのエンドポイントではなく、この記事は実装済みだとも述べていません。

ここでサービスのアカウントデータ保持期間は定まっていませんが、それはアーカイブへの恒久アクセスの約束ではありません。過去の観測と新たな取得を区別できれば、出典が後で利用不能になっても保存したクエリは理解できます。出力内容に秘密や機微なメモがないか調べ、残すものを読者に選ばせます。価値があるのは検索判断の追跡可能な記録であり、データ、解釈、リンクが無期限に有効という保証ではありません。