ProtectPolicy Profiles

Policy Profiles and packs

Policy Profiles are the customer-facing way to apply runtime controls to a specific audience without duplicating the organization-wide Base Policy.

Policy Profiles are the customer-facing way to apply runtime controls to a specific audience without duplicating the organization-wide Base Policy.

Use Base Policy for the minimum standard every session should inherit. Use Policy Profiles when a real audience needs different runtime behavior. Policy packs remain the internal packaging layer behind profiles.

Mental model

LayerPurposeExample
Base PolicyApplies to every runtime decision.Log all tool calls, block obvious secret exfiltration, warn on sensitive reads.
Policy ProfileAdds audience-specific controls.Contractors cannot use WebFetch. Finance cannot write outside approved repos.
Detector responseControls what happens when a detection matches.Prompt injection Blocks for production engineers, Warns for security researchers.
EvidenceExplains why the decision happened.Source, user, group, tool, target, detector, reason.

When to create a Policy Profile

Create a Policy Profile when one of these is true:

  • A synced group needs stricter controls than Base Policy.
  • A pilot cohort is testing a new rule before broad rollout.
  • A contractor or vendor audience needs reduced capabilities.
  • A sensitive team needs additional evidence retention.
  • A development workflow needs a temporary exception that should remain visible.

Do not create a profile just to rename Base Policy. If everyone needs the rule, put it in Base Policy.

Assignment flow

  1. Confirm the user or group exists in People or Directory Sync.
  2. Create the Policy Profile.
  3. Add the runtime controls that differ from Base Policy.
  4. Assign the profile to the group.
  5. Run a clean activity test and a documented Block test as a user in that group.
  6. Confirm Activity shows the expected source, person, group, and policy reason.

Users and groups

Policy Profiles work best with authoritative groups:

  • Use Directory Sync for durable Entra ID, Okta, or Google Workspace groups.
  • Use custom groups for pilots, exceptions, and temporary cohorts.
  • Avoid hidden exceptions that only exist in a profile description.
  • Review group membership before moving a profile from pilot to production.

Troubleshooting Policy Profile assignment

SymptomLikely causeFix
User signs in but no group profile appliesSSO is working, but Directory Sync has not supplied group membership.Configure Directory Sync or add the user to a custom group.
Group exists but runtime event uses Base Policy onlyThe runtime event did not resolve to the expected person or group.Check People, workstation ownership, and group membership.
Policy Profile blocks too muchThe audience is too broad or the rule belongs in a narrower profile.Split the group or move the rule to a smaller pilot profile.
Admin cannot find a groupThe group was not synced or is filtered out by provider configuration.Check Directory Sync status and provider assignment.

Enterprise acceptance checks

Before calling Policy Profiles production-ready:

  1. A synced or custom group is visible in AgentKeeper.
  2. The group has the expected users.
  3. The Policy Profile is assigned to that group.
  4. A benign action still passes for the group.
  5. A documented Block test blocks for the group.
  6. Activity explains the policy reason without requiring support to inspect the database.