Skip to content

Portal & Experience Cloud Security Quick Reference

Fast-track reference for portal and Experience Cloud (formerly Community Cloud) security. This is where CTA candidates most often apply internal security patterns incorrectly. External users have fundamentally different sharing, licensing, and hierarchy behaviors. Know these differences cold.

LicenseObjectsReports/DashboardsRole HierarchyAPI AccessSharing ModelCost TierWhen to Use
Customer CommunityCases, Knowledge, customNoFlat (1 role)NoSharing sets (HVCP)LowestSelf-service portals, B2C, high-volume
Customer Community PlusStandard + customYes3 levels (Exec/Mgr/User)LimitedStandard sharing + rulesMediumCustomers needing reports, hierarchical access
Partner CommunitySales objects + customYes3 levels (Exec/Mgr/User)YesStandard sharing + rulesMedium-HighChannel partners, resellers, co-selling
External AppsCustom objects primarilyNoFlat (1 role)Yes (optimized)Sharing sets (HVCP)LowestAPI-heavy integrations, branded apps
External IdentityNone (auth only)NoNoneNoNoneVery LowSSO/login only, no Salesforce data access
Channel AccountSales objectsYes3 levelsYesStandard sharingPer-account bundleMultiple contacts per partner account
Guest UserOnly what rules grantNoNoneDisabled by defaultGuest sharing rules onlyFreePublic-facing pages, unauthenticated access

External OWD is set separately per object and can only be the same as or MORE restrictive than internal OWD.

Internal OWDAllowed External OWDTypical Choice
PrivatePrivate onlyPrivate
Public Read OnlyPrivate, Public Read OnlyPrivate (external users should not see each other’s data)
Public Read/WritePrivate, PRO, PRWPrivate (almost always)

Key rules:

  • External OWD defaults to matching internal - always review separately
  • Guest user OWD is always Private and cannot be changed
  • Changing internal OWD resets external OWD to match - re-check after every change
  • If ANY two external users from different accounts should not see each other’s records, External OWD = Private

Customer Community and External Apps licenses use High-Volume Customer Portal (HVCP) sharing, a separate mechanism from standard sharing rules.

How a Sharing Set maps a lookup field on a target object to the portal user's Account, granting access at runtime when the field values match.
Figure 1. Sharing Sets replace the standard share table for high-volume Customer Community users: access is resolved at query time by matching a lookup field on the target record to the portal user’s Account, avoiding the share table bloat that would occur with millions of portal users under standard sharing rules.
FeatureStandard Sharing RulesHVCP Sharing Sets
Used byCommunity Plus, PartnerCustomer Community, External Apps
Based onOwnership or criteriaLookup field match to user’s Account/Contact
Role hierarchyParticipatesDoes NOT participate
Share tablesStandard (can bloat at scale)Separate optimized tables
ScaleThousands of usersMillions of users
PerformanceDegrades with rules + recordsOptimized - no hierarchy recalculation
Cross-account accessSharing rules can grantCannot grant cross-account; need different mechanism

Share Groups solve the opposite problem - granting internal users access to records owned by HVCP portal users.

MechanismDirectionExample
Sharing SetInternal records —> External users see them”Portal users see their Account’s Cases”
Share GroupExternal-owned records —> Internal users see them”Support agents see Cases created by portal users”

Share Groups contain sets of internal users (by role, profile, or public group) who should see HVCP-owned records for a specific site.

CheckActionStatus
Object permissionsRemove ALL objects except the minimum needed (e.g., Knowledge, 1-2 custom objects)Required
Field-level securityHide every field not explicitly needed; never expose PII fieldsRequired
API accessDisable - Guest User API Access should be OFFRequired
Apex class accessRemove all except classes explicitly needed for guest flowsRequired
Record ownershipGuest-created records go to site default owner, NOT guest profileIntroduced Spring ‘20, enforced without opt-out since Winter ‘21
Sharing rulesOnly criteria-based guest user sharing rules; no ownership-basedEnforced since Winter ‘21
View All / Modify AllCannot be granted to guest usersSystem-enforced
Connected AppsRemove guest user from all Connected AppsRequired
Flows / processesAudit all flows accessible to guest profile - no SOQL without sharingRequired
Health CheckRun Salesforce Health Check; resolve all guest user findingsQuarterly

Portal roles are auto-created per Account when a community user is enabled, sitting beneath the Account Owner’s role in the internal hierarchy.

License TypeRoles Created per AccountConfigurable?
Customer Community1 (User only - flat/HVCP)No - flat only; configurability of 1-3 levels applies to Community Plus and Partner licenses
Customer Community Plus3 (Executive, Manager, User)Number configurable (1-3)
Partner Community3 (Executive, Manager, User)Number configurable (1-3)
External Apps1 (User only - flat)No - flat only

How it differs from internal hierarchy:

  • Roles are scoped to the Account - users in Account A cannot see Account B’s data via hierarchy
  • Account Owner (internal user) gets implicit sharing to all portal roles beneath
  • Role hierarchy can be disabled per object (“Grant Access Using Hierarchies” checkbox)
  • At scale (100K+ accounts), auto-created roles inflate the role hierarchy - monitor total role count (limit: 5,000 portal roles total org-wide across all portals/communities)
AspectLWR SitesAura Sites
Security modelLightning Web Security (LWS)Lightning Locker
CSP supportStrict CSP by defaultCSP supported
Cross-namespaceLWS allows controlled cross-namespaceRestricted by Locker
New site defaultYes (recommended for new builds)Legacy - still supported
SEO / performanceBetter (static rendering)Slower (client-side)

Scenario 1: Partner Portal - 50K+ Channel Partners

Section titled “Scenario 1: Partner Portal - 50K+ Channel Partners”

Situation: Global manufacturer with 50,000 partner users across 2,000 partner accounts. Partners register deals, access co-branded marketing, and view their pipeline. Partners must NOT see other partners’ data. 15 internal channel managers need to see all partner data.

What you’d present:

  • License: Partner Community (need reports, sales objects, deal registration)
  • External OWD: Private on Account, Opportunity, Lead, custom Deal Registration object
  • Portal role hierarchy: 3 levels per account (Executive sees all reps’ deals within their company)
  • Sharing rules: None cross-account - Private OWD + hierarchy handles intra-account visibility
  • Internal access: Channel Manager role sits above all partner roles via implicit sharing
  • Deal Registration: Apex managed sharing to grant read access to the assigned internal rep

Why NOT Customer Community Plus: Partners need Sales objects (Opportunities, Leads) and deal registration workflows. Community Plus supports this but Partner Community includes partner-specific features (Lead assignment, deal registration, channel programs).

Scenario 2: Customer Self-Service with Sensitive Health Data

Section titled “Scenario 2: Customer Self-Service with Sensitive Health Data”

Situation: Healthcare company, 500K patients access lab results, appointment scheduling, and billing. HIPAA compliance required. Patients should see only their own data. No cross-patient visibility.

What you’d present:

  • License: Customer Community (high volume, no reporting, self-service only)
  • HVCP sharing sets: LabResult.PatientAccountId = User.Contact.AccountId (Read Only)
  • External OWD: Private on all objects (enforced - HIPAA)
  • Guest user: Completely locked down - only Knowledge articles with IsPublished = true shared via guest sharing rule; no PII fields on guest profile
  • Shield Platform Encryption on PHI fields (lab results, diagnosis codes)
  • Person Accounts for patient records (each patient = Account + Contact)
  • Share Group: Internal care team role added to share group so providers can see patient-created Cases

Why NOT Community Plus: 500K users at Community Plus pricing is cost-prohibitive. Patients do not need reporting, dashboards, or hierarchical visibility. HVCP sharing sets scale to millions and avoid share table bloat.

Personal study notes for the Salesforce CTA exam. Content compiled from VJ's study notes, official Salesforce documentation, community sources, and online publicly available content, then organized and presented with AI assistance. Not affiliated with Salesforce. © 2025–2026 VJ Srivastava.