May 25, 2022

Salesforce Platform Best Practices: Data Management, Sharing & Security


Salesforce Platform Best Practices: Data Management, Sharing & Security
Salesforce Platform Best Practices: Data Management, Sharing & Security

The global shift to move toward digitalization in every business vertical/sector has created a massive requirement for secure, cost-effective, cloud-based solutions that help companies to adapt to the new world and also run their businesses smoothly and efficiently. As a result, the customer relationship management (CRM) market has grown from 2020 at $52.64 billion to $58.04 billion in 2021 and is expected to grow from $128.97 billion from 2021 to 2028.


Salesforce: The Trendsetter


Salesforce is the most significant single player in CRM applications holding 19.8% of the market share. With the acquisition of Slack, MuleSoft, Tableau, and many more over the past several years, Salesforce provides an ecosystem for companies to have the complete customer journey with data analytics and integration with other systems to leverage various features under a single platform.

In 2021, Salesforce served over 150,000 customers and generated $21.25 billion in revenue. Revenue has grown at a CAGR of 51% over the last 20 years, and in the previous 10 years, compound annual revenue growth is 29%.


Importance of Data Management, Security, & Privacy


Companies now have access to more data than ever before with the help of various tools and technology, which helps businesses create the basis for intelligence for essential business decisions. With this vast data also comes the responsibility to:


Salesforce Manages Data, Security, & Privacy


Salesforce works in a multi-tenant architecture where the resources are shared among the users with complete privacy and security. Salesforce provides a comprehensive and flexible data security model to secure data at different levels. It provides sharing tools to give or restrict access to data as per the business needs. To protect your system from unauthenticated access, Salesforce strongly recommends using the following solutions:


Device & Session-Based Security



Data Access & Permission-Based Security


Salesforce manages data-level security by providing control over who sees what. As an admin, you can set up different permission levels for each user and management to access which data. Salesforce lets the system admin expose specific data sets to individuals and groups of users. Permission sets, groups, and profiles provide object-level and field-level security by controlling access. Record-level sharing settings, user roles, and sharing rules control the individual records that users can view and edit. Here are various permissions that control data security:


Shield Platform Encryption:


One can also protect data by shield platform encryption that does the following:


Salesforce Monitoring & Auditing:



Salesforce & Data Sharing Scenarios


When it comes to data, sharing data is a challenge that many organizations have. Providing access to detailed data to the users who aren’t owners of those records and are restricted by org-wide settings is always a challenge that needs resolutions.


This can be resolved by leveraging the power of Salesforce sharing rules, which are used to extend sharing access to groups, roles, or individuals, an automatic exception to the org-wide sharing settings. You can set the sharing location on records based on different types and rules, then provide desired access to individuals or groups.


Types of Data Sharing Rules



Limitations of Sharing Rules



Workarounds with Sharing Limitations



SoftClouds Innovation: An Implementation Scenario


Let’s review and understand a scenario and a possible solution that was implemented. The case object has a limit of 50 criteria sharing rules, but customers have requirements for more than 50 sharing rules. The solution was to build a custom solution using apex-managed sharing, that gives our customers the flexibility to create custom sharing settings on top of the limit provided by standard-sharing settings.


Innovative Implementation:


Create Custom-Sharing Setting:




The record can look like the one below.


  1. Once the sharing setting is captured, a batch job runs in the background, which processes all the records and inserts them into CaseShare, which matches the criteria and share the documents with relevant group or individuals.
  2. Batch execution can be scheduled in apex batches for full data/incremental/deletes
  3. Batch will be executed on short schedules for only incremental data (newly created and updated records); this helps process a small number of documents and improves performance and accuracy.
  4. A batch of complete data can be executed once or twice a day, depending on the number of records.

Delete Sharing Setting:


  1. One can delete sharing setting from the new tab created for custom sharing configurations.
  2. Once the user deletes the sharing setting, the batch will pick all the records matching the criteria and deletes them from the CaseShare object on the Case ID and the Group ID.

Some Notes:


  1. Before creating any custom sharing setting, verify that it already doesn’t exist in the standard sharing settings.
  2. Performance is directly proportional to the number of records processed by the rules and the number of practices per entity.

Salesforce Best Practices for Data Sharing:


The following are some of our recommended best practices for sharing data in Salesforce:


Salesforce Data Sharing: Common Pitfalls to Avoid


Sharing rules are Salesforce mechanisms to extend access to individuals, groups, or territories depending on the requirements. Even with limitations, one can leverage the capabilities of the platform. Salesforce, a powerful platform, supports your needs to extend its capabilities and bypass the specific limitations level through Apex custom solutions.

We should always be mindful of how much customization is needed and required for the best performance and desired outputs which makes it easier to manage and maintain.


My Thoughts:


Data is central to any business and managing data properly is important to the success of the business. A clear and documented data management strategy is very important to drive your business goals. It’s very important to have standard operating procedures and policies for processing and managing your data.

Though Salesforce is a very powerful platform that’s very flexible and capable of your data management, you need to have clear control of your data implementation, needs, and security. It’s very important to evaluate your data management and put some best practices in place. Make sure that you keep your data future-ready and use your data to drive analytical solutions that can transform your business and boost your organization’s productivity.

This post was written by Nixon James, Director of Salesforce Practice at SoftClouds, Nixon has two decades of experience in innovating, designing, building, and delivering world-class CRM/CX/ DevOps/AI solutions around the globe to meet our clients’ digital transformational needs. Nixon is passionate about our clients’ goals and committed to making their vision a reality and client success his number one priority.

SoftClouds is a recognized leader in CRM/CX transformation with experience in numerous service cloud implementations with pre-configured best practice business processes for multiple verticals/domains.

To learn more about this topic, please click here.