BlogTechnical

Reviewing Salesforce Agentforce — the Trust Layer and what it doesn't cover

The Einstein Trust Layer sits between every prompt and every LLM. It's real security — and it's not the whole review. What still depends on the agent's running-user permissions.

Drel Research7 min read

Salesforce Agentforce is a metadata-driven agent framework built directly into the Salesforce platform: agents reason using the existing descriptions of an org's fields, objects, and flows, so an agent understands what tools it has and what rules govern them from the same metadata a human admin already maintains. The architecture splits into three layers — a Reasoning Engine, a Trust Layer, and an Action Layer — and the most common review mistake is treating the Trust Layer's coverage as if it secured all three.

Agentforce, briefly

Because Agentforce is metadata-driven, an agent's available actions are defined by the same profiles, permission sets, sharing rules, and role-based access controls that already govern human users in the org — plus attribute-based policies for finer-grained rules. That's a real strength: there's no separate permission system to keep in sync. It also means an agent inherits whatever gaps already exist in an org's existing permission model.

Three layers — the Trust Layer secures one of them, not all three

LayerJobWhat it doesn't do
Reasoning EnginePlans the tasks — decides what the agent should do to satisfy a request.Doesn't enforce what the agent is allowed to do — that's a separate layer's job entirely.
Trust Layer (Einstein Trust Layer)Sits between every prompt and every LLM; keeps PII protected in transit and out of external model training under a zero-data-retention policy.Secures the data going to and from the model. Doesn't decide what Salesforce objects, fields, or actions the agent can touch.
Action LayerExecutes the work via Flows and APIs — the agent's actual hands.Executes whatever the running user's permissions allow. This is where over-broad permissions on the agent's integration user become a real production risk.

What the Trust Layer actually covers

The Einstein Trust Layer is what makes Agentforce safe to point at production data in the specific sense of the prompt/response path: data sent to an LLM, including PII, is protected in transit and excluded from external providers' training data under a zero-retention policy. That's a genuinely strong default for the question “can this LLM provider retain or train on our customer data.”

The Trust Layer answers “is the prompt path safe.” It does not answer “is this agent allowed to update this record” — that's determined entirely by the Action Layer and the permissions of whichever user the agent runs as.

ForcedLeak — a $5 domain and a 42,000-character text field

A CVSS 9.4 disclosure by Noma Security, dubbed “ForcedLeak,” shows exactly how a Trust-Layer-secured prompt path and an over-permissioned Action Layer can combine into a real exfiltration chain. The Web-to-Lead form's Description field allows up to 42,000 characters — more than enough room to hide a prompt-injection payload in plain sight. Separately, Salesforce's own Content Security Policy allowlist included a domain, my-salesforce-cms.com, that had lapsed and become available to purchase for five dollars. An attacker bought it, then submitted a lead with an injected payload instructing the agent — the next time an employee asked it about that lead — to exfiltrate CRM data by embedding it in an image request to that now-attacker-controlled, still-trusted domain.

A related flaw, PipeLeak (Capsule Security), used the same lead-form-injection pattern with no authentication required at all — and notably, Salesforce never assigned it a CVE or issued a public advisory, a real inconsistency in disclosure practice worth knowing about if a review is trying to build a complete picture from public records alone. Separately, CVE-2025-64322 covers an unrelated permission-assignment flaw in the Agentforce Vibes development extension, not the production runtime.

The running-user problem

Salesforce's own guidance is explicit on this point: an agent's running user should be a dedicated, minimally permissioned integration user with only the object, field, and action access the agent's published topics actually require. In practice, the fastest path to shipping an agent is often to run it as an existing highly-privileged admin or integration user that already has broad access — which works, ships fast, and is exactly the finding a review exists to catch before it reaches production.

Salesforce's own admin guidance goes further than a general caution here: it explicitly instructs teams to move from Profile-based to Permission-Set-based field-level security specifically to get “Agentforce ready.” The implication is direct — the legacy profile model doesn't cleanly govern what an agent's actions can touch, and an org that hasn't made that migration is not fully ready to scope an agent's access precisely, whatever integration user it's assigned.

Review checklist

For any Agentforce deployment, a design-time review should be able to answer:

  • What user does each agent actually run as — a dedicated, minimally-scoped integration user, or a broader existing account?
  • Do the agent's published topics map to a permission set that grants only the objects, fields, and actions those topics need?
  • Which of the agent's actions are consequential enough to require explicit confirmation before executing, versus running autonomously?
  • Is data classification (which fields are sensitive/PII) actually configured, since the Trust Layer's protections depend on that classification being accurate?
  • Has the org migrated from Profile-based to Permission-Set-based field-level security, per Salesforce's own “Agentforce ready” guidance?
  • Is Trusted URL Enforcement enabled, and are all CSP-allowlisted domains actively owned and monitored for expiry, given the ForcedLeak precedent?
  • Do public-facing forms (Web-to-Lead or equivalent) that feed agent-visible data have a character-length or content-scanning limit to reduce the space available for a hidden injection payload?

Sources

Blog

Get new posts in your inbox

AI security review, OWASP Agentic Top 10, ISO 42001 evidence, and what AI Committees actually need. No cadence promises — we publish when there's something worth reading.

Review an Agentforce deployment before it ships

Running-user scope, topic-to-permission mapping, and data classification — mapped to a disposition your AI Committee can act on.

A note on scope: Drel reviews assessed systems against documented architecture, configuration and intent. It does not ingest live telemetry from production environments. Dispositions reflect the assessed system at the time of review and the re-assessment triggers that govern when the disposition must be revisited.