normalize('transportRule', [ 'Identity' => 'Rule 1', 'SubjectContainsWords' => ['payroll acquisition secret'], 'MessageBody' => 'private message body', ]); $meetingPolicy = $normalizer->normalize('meetingPolicy', [ 'Identity' => 'Meeting 1', 'RecordingTranscript' => 'meeting transcript secret', 'AllowTranscription' => true, ]); $json = json_encode([$transportRule, $meetingPolicy], JSON_THROW_ON_ERROR); expect($json)->not->toContain('payroll acquisition secret') ->and($json)->not->toContain('private message body') ->and($json)->not->toContain('meeting transcript secret') ->and(data_get($transportRule, 'conditions.subject_contains_words'))->toBe('[redacted]'); });