フックの決定の集合を H={deny,ask,allow,⊥} とし、順序 deny≻ask≻allow≻⊥ を入れる(⊥ は決定なし。終了コード 2 による中止は deny に含める。defer は扱わない)。呼び出し q に対して複数のフックが決定 η1,…,ηk を返したとき、合成したフックの決定を、この順序での最大元 η=max(η1,…,ηk) とする(フックが無ければ ⊥)。フックの決定 η、規則集合 R、モード μ に対する判定 Cμ,R(η,q) を、次の順に調べて最初に当てはまるもので定める。
- η=deny ならば block。
- q∈Matdeny(R) ならば block。
- q∈Matask(R) ならば prompt。
- η=ask ならば prompt。
- η=allow ならば run。
- それ以外(η=⊥)は Dμ,R(q)(定義 6.1)。