壊れやすいシステムを育てる

第6章

「ログにペットの病気の情報を出すことが法改正で禁止された」

執筆中

降ってくる要件

「動物医療情報の取扱いに関する規律が強化された。診断名・処方薬・検査結果といったペットの疾病情報を、アプリケーションログ・分析基盤・運用ダッシュボードに残してはならない。施行日までに対応してほしい」という要件が降ってきます。インシデントによる発覚ではなくコンプライアンス要件として降ってくるのが本章の特徴です。

既存コードを動かしてみる

git checkout step-06-start
pnpm test

これまでロガーは来院記録をまるごと出力してきました。診断名・処方薬・処置内容がログに残っていることが、テスト出力からも確認できます。

素朴にエージェントに依頼してみる

本章は執筆中です。

何が痛いのか

構造的部分型は「診断名を表す string」と「ただの string」を型で区別できないため、機微情報を型レベルで止められません。レビューでも grep でも漏れが出ます。規制が降ってきた瞬間に発覚するのではなく、その前に多層防御で予防しておくべき情報なのです。

どう直すか — 原則の紹介

本章で導入する原則:

  • Sensitive 型
  • ログ redact による多層防御

詳細は既存ブログ記事「ログのPII漏洩を防止する」に送ります。本章では本書題材における適用と、人間のPIIではない動物の医療情報にも同じ仕組みが効くことに絞ります。

リファクタを進める

本章は執筆中です。

章末の姿と次章への布石

最終章では、ここまでで獲得した原則を一覧で振り返り、functional-ts-principles スキルプラグインを導入したエージェントが同じ要件群にどう応答するかを実演します。