Winter '27 just changed how profile visibility works, and that is a good excuse to finally look at who can see what.
A Salesforce permission set audit starts by pulling every permission set in the org next to a current list of job roles, then checking three things for each one. Who actually has it assigned. What it actually grants. And whether anyone assigned to it still does the job it was built for. Most orgs skip this for years, which is exactly why it's worth doing now.
Why permission sets pile up and nobody wants to touch them
Permission sets get created for a one-off project, a temporary access need, a role that later got restructured, and nobody circles back to remove them once the need passes. Each one starts to feel risky to touch, because nobody is fully sure who might be quietly relying on it. The safer-feeling choice is always to leave it alone and create a new one for the next need instead, which is exactly how orgs end up with more permission sets than active job roles.
A simple method to audit permission sets against real job roles
Retiring unused permission sets without breaking anything mid-quarter
Tying this to the Winter '27 profile visibility change
Winter '27 already narrowed default visibility with Enable Profile Filtering, users without View All Profiles now see only their own profile name, covered in our September 4 release post. The same audit that surfaces unused permission sets is the natural moment to also confirm who actually has View All Profiles, and whether that list still matches who genuinely needs to see profile names across the org, instead of who happened to get it years ago.
Nobody circles back to remove a permission set once the need passes. That's not a discipline failure, it's the default outcome of a system that never forces the review — until something like Winter '27 gives you a reason to finally look.
Book a Health Check focused on security and permissions through our contact form, and follow TrueSolv on LinkedIn for more admin notes like this one.