What Is Field-Level Security in Salesforce?

Field-level security (FLS) controls which fields a user can read or edit on records they already have access to. It is enforced in the UI, in reports, and in

Updated 2026-09-09

Field-level security (FLS) controls which fields a user can read or edit on records they already have access to. It is enforced in the UI, in reports, and in the API.

In more detail

FLS is set per field, per profile or permission set. It is a different layer from record access (sharing) and from page layouts.

A field hidden by FLS is invisible everywhere, including SOQL results in user-mode contexts. A field removed from a page layout is only hidden in that layout, and is still returned by the API.

Why it matters for admins

  • It is the most common cause of "this field is blank for me" tickets.
  • New custom fields are hidden from every profile except System Administrator by default.
  • Compliance reviews normally ask for FLS evidence on sensitive fields, so having it readable quickly matters.

Frequently asked questions

Does field-level security apply to Apex?
Apex running in system mode ignores FLS unless it uses user-mode database operations or explicit permission checks. Apex running in user mode enforces it.
What is the difference between FLS and page layouts?
FLS is a security control enforced across the platform. Page layouts are a presentation control - hiding a field there does not restrict API access to it.

More from the Glossary

Related reading