オプトインとオプトアウト
機能やサービスへの参加方式に関する2つのモデル。
オプトイン(Opt-in) は、ユーザーが明示的に同意・有効化するまで機能が適用されない方式。オプトアウト(Opt-out) は、デフォルトで有効化され、ユーザーが明示的に無効化する必要がある方式。
ソフトウェア設計では、デフォルト値の選択としてこの概念が現れる。
例:Next.js 16のキャッシュ設計
- 従来(オプトアウト):デフォルトでキャッシュ、無効化は明示的に
- 新設計(オプトイン):デフォルトでキャッシュなし、有効化は
use cacheで明示的に
オプトアウト方式は「賢いデフォルト」として機能することもあるが、ユーザーの意図しない挙動を招くリスクがある。特にプライバシーやセキュリティに関わる設定では、オプトインが推奨される。
明示性と暗黙性のトレードオフと密接に関連する。