実装記録をWordPress連載へ—公開可能な情報へ匿名化する
実装記録をそのままブログへ貼ると、ユーザー名、メールアドレス、パス、API ID、会議名などが混ざります。一方、全部を削ると読者が再現できません。そこで「秘密を伏せ、構造を残す」編集ルールを作りました。
置き換える情報
| 元の情報 | 公開用の表現 |
|—|—|
| 実ユーザー名 | `your-user` |
| メールアドレス | `alerts@example.com` |
| 絶対パス | `/path/to/project` または `~/Documents/HermesVault` |
| 事業所・DB・録音ID | `YOUR_*_ID` |
| APIキー・トークン | `YOUR_*_TOKEN` |
| 会議・取引の固有名 | 「社内会議」「サンプル支出」 |
| 実金額 | 小さな架空金額または金額なし |
IDの一部を残すマスキングは、他の情報と組み合わせると特定につながることがあります。再現に不要なら全文をダミーへ置き換えます。
設計判断は残す
公開価値があるのは秘密情報ではなく、次のような判断です。
- なぜ読み取り専用から始めたか
- なぜprepareとwriteを分けたか
- どの失敗ケースをテストしたか
- どこでタイムゾーン変換したか
- なぜNotionとObsidianの役割を分けたか
具体的なパスやトークンを消しても、判断、入出力の型、確認項目があれば読者は自分の環境で再現できます。
スクリーンショットとログにも注意する
本文を匿名化しても、スクリーンショットのサイドバー、ブラウザタブ、通知、ターミナルプロンプトへ個人情報が残ります。画像は公開用のダミーデータで撮り直すか、元画像を非公開にして再現図を作ります。
ログはトークンだけでなく、ファイル名、メール件名、録音名、URLのクエリにも注意します。検索可能なテキストとして画像へ埋め込まれる場合もあります。
WordPress用メタデータをそろえる
各記事に、タイトル、slug、公開日、抜粋、カテゴリ、タグ、更新日、情報確認日をYAMLで持たせました。Obsidianの閲覧ビューから本文をコピーし、WordPressのタイトル・抜粋・カテゴリはプロパティから転記します。
公開前は機械検索と人の目を併用します。`@`、`/Users/`、`token`、`secret`、長い数字列などを検索した後、文脈を読んで確認します。
再現チェック
- [ ] 名前・メール・パス・IDをダミー化した
- [ ] トークンや認可コードを一部も残していない
- [ ] 会議名・取引内容・金額を一般化した
- [ ] スクリーンショットとログを確認した
- [ ] 設計判断と失敗例は残した
- [ ] 公開前に検索と目視を行った
次回は、同じ匿名化方針でHermes Agentの解説動画を作った工程を紹介します。
参考にした一次情報
- [WordPress Block Editor](https://wordpress.org/documentation/article/wordpress-block-editor/)
- [OWASP Logging Cheat Sheet—Data to exclude](https://cheatsheetseries.owasp.org/cheatsheets/Logging_Cheat_Sheet.html#data-to-exclude)
- [個人情報保護委員会](https://www.ppc.go.jp/)
