name: agent-security-review description: "Pre-production security checklist for Agentforce deployments: permission scope, data exposure, authentication, logging. NOT for general Salesforce security review (see security-health-check)." category: agentforce salesforce-version: "Spring '25+" well-architected-pillars:
- Security
- Operational Excellence triggers:
- "agent go-live security checklist"
- "review what data the agent can see"
- "does the agent leak pii"
- "quarterly agentforce audit" tags:
- agentforce
- security
- review
- checklist inputs:
- "Agent configuration export"
- "persona + channel map"
- "data classification" outputs:
- "Signed-off review doc"
- "remediation ticket list" dependencies: [] version: 1.0.0 author: Pranav Nagrecha updated: 2026-04-28
Agent Security Review
Agentforce agents touch user PII, internal data, and external APIs with the permissions of whatever user invokes them. A structured review covers four axes: (1) least-privilege user, (2) data classification of every grounding source, (3) action write-scope, (4) audit trail completeness.
Recommended Workflow
- Export the agent: topic instructions, Invocable actions, grounding DMOs/sObjects, channel configs. Checksum and archive.
- Map the agent's run-as user to a dedicated permission set; verify no profile-level permissions leak through.
- Classify every grounding source: public, internal, confidential, regulated. Redact/mask confidential+regulated fields at the Trust Layer.
- Enumerate Invocable write scope: which sObjects/fields can be created/updated/deleted. Apply FLS + CRUD checks in Apex; tighten or split the user.
- Verify audit trail: every Invocable logs to
Agent_Audit__c; every conversation is retained per retention policy; Shield Event Monitoring streams cover ApexExecution + ContentTransfer.
Key Considerations
- Default agent-run-as is the invoking user — this is often over-privileged for admin testers. Use automated user for agent invocation.
- Data Cloud grounding can pull data the invoking user cannot see; verify masking at DMO level.
- Invocables bypass
with sharingif written aswithout sharing— audit every action class's sharing declaration. - Audit trail must include prompt + response for forensic replay; conversation storage has retention implications (GDPR).
Worked Examples (see references/examples.md)
- Write-scope tightening — Service agent can 'Update any Case field' via a generic UpdateRecord action.
- Regulated-field masking — RAG grounding includes Contact.Social_Security_Number__c.
Common Gotchas (see references/gotchas.md)
- Agent run-as has View All — Agent sees cross-owner records even when user shouldn't.
- Conversation retention unset — GDPR subject request cannot locate conversation logs.
- Shield Event Monitoring not streamed — Agent anomaly is invisible to SOC.
Top LLM Anti-Patterns (full list in references/llm-anti-patterns.md)
- Running the agent as the invoking user by default — privileged reviewers leak permissions upward.
- Generic 'UpdateRecord' actions — any field becomes attack surface.
- Skipping DMO classification — grounding becomes a data-leak vector.
Official Sources Used
- Agentforce Developer Guide — https://developer.salesforce.com/docs/einstein/genai/guide/agentforce.html
- Einstein Trust Layer — https://help.salesforce.com/s/articleView?id=sf.generative_ai_trust_layer.htm
- Invocable Actions (Apex) — https://developer.salesforce.com/docs/atlas.en-us.apexref.meta/apexref/apex_classes_invocable_action.htm
- Agentforce Testing Center — https://help.salesforce.com/s/articleView?id=sf.agentforce_testing_center.htm