Модуль ADF приняв запрос о предоставлении доступа от AEF оценивает его при помощи правил различных политик безопасности. Схема 4, например, демонстрирует правила политики секретности ADF для запросов типа append-open. Язык спецификации должен быть интуитивно понятен для широкой аудитории, а так же его описание имеется в [LaPadula 1995]. В этой спецификации следующие предикаты соответствуют следующим значениям:
Purpose-binding(task, class) <=> Purpose(task) is element of Purposes(class).
Consent(task, object) <=> (purpose(task), object) is element of the table consent.
CASE APPEND_OPEN
SELECT CASE target[input-argument]
CASE file
SELECT CASE data-type(object)
CASE personal-data
IF [Necessary (current-task (process), class (object),
transformation-procedure (process), append )
AND
Purpose-binding (current-task (process), class (object))
OR
consent (current-task (process), object)]
AND
purposes(class(object)) in input-purposes(process)
THEN
return(YES)
ELSE
return(NO)
CASE TP (* it is not allowed to directly modify TPs *)
return (NO)
CASE non-personal-data
IF purposes(class(object)) in input-purposes(process)
THEN (* in this case input-purposes(process) is equal
to the set of all possible purposes *) return(YES)
ELSE return(NO)
CASE ELSE
return(NO);
CASE ipc
IF class(object) is none (*object contains non-personal-data*)
THEN
IF purposes(class(object)) in input-purposes(process)
THEN
return(YES)
ELSE
return(NO)
ELSE (* object contains personal data *)
IF Necessary (current-task(process), class(object),
transformation-procedure (process), append)
AND
Purpose-binding (current-task (process), class(object))
AND
purposes(class(object)) in input-purposes(process)
THEN (* consents are not defined for ipc-objects *)
return (YES)
ELSE
return (NO)
CASE ELSE
return (UNDEFINED);
Для соответствия с моделью секретности файлы личных данных могут быть созданы при помощи системного вызова create_personal_data, если как параметр указан класс нового файла. Для сохранения функциональности в системе Unix, процессам TP-типа должно быть позволено создание объектов при помощи обычного системного вызова Unix - creat (создать). Если процесс TP-типа создает файл или ipc-объект, то эти объекты должны обрабатываться как личные данные, во-избежание возникновения нелегального информационного потока. Между тем, если был вызван системный вызов creat, то в качестве параметра для нового файла или ipc-объекта не может быть использован класс объекта. Следовательно, для каждой цели pj уникальным значением default-class будет являться: purpose(default-class(pj)) = pj.
Если процесс TP-типа создаёт при помощи системного вызова creat файл или объект ipc-типа, то object-class вновь созданного объекта будет иметь значение default-class цели текущей задачи процесса.