# memory: instinct-or-branches-leave-an-intersection-hole

OR条件でフィルタを作成する際、両方の条件を満たさない入力が漏れる問題を防ぐため、条件を1本に畳む必要がある。例として、パスフレーズのフィルタで「塊がある」または「日本語が無い」というOR条件を設定した際、両方を満たさない入力が漏れ、秘密が外部に漏洩した。これを防ぐため、条件を「ASCII図形文字が間隔3文字以内で8個連なる」という1本の式に畳み、両方を満たさない入力が定義上存在しないようにした。

## ポイント
- OR条件でフィルタを作成する際、両方の条件を満たさない入力が漏れる問題がある
- 条件を1本に畳むことで、両方を満たさない入力が定義上存在しないようにできる
- 例として、パスフレーズのフィルタで「塊がある」または「日本語が無い」というOR条件を設定した際、両方を満たさない入力が漏れ、秘密が外部に漏洩した
- 条件を「ASCII図形文字が間隔3文字以内で8個連なる」という1本の式に畳み、問題を解決した

## 関連ページ
[[instinct-oscillating-filter-means-wrong-axis]] [[instinct-fail-open-predicate-needs-measured-blast-radius]] [[instinct-filter-excluded-means-unreviewed]]

## 関連概念(未作成)
`フィルタ設計の基本原則` `セキュリティフィルタの設計`