Trust & Data Protection
Transparency about which data we read, how it is handled, and your GDPR rights.
Consistent & Repeatable
The assessment is powered entirely by our analysis framework. No AI writes the scores and no subjective judgment changes the outcome. Every criterion is rule-based, so the same org produces the same result when analysed under the same conditions. That keeps findings transparent, auditable, and comparable over time.
We read metadata and platform configuration: data model, Apex code, flows, automation, and permissions, not your business records. Field fill rates are calculated using aggregate COUNT queries; no individual record values are ever retrieved.
Full scope: What we reviewTransparency note: The User Health module reads user account records, which are personal data under GDPR, covering identity, login-activity, and security-setting fields such as name, email, last login date, and MFA status. If your Data Protection Officer objects to it, the User Health module can be excluded from the analysis on request.
- Your access token is held in memory only during the analysis, never written to disk or transmitted elsewhere
- Your metadata is only read through read-only API calls and processed in memory, never stored on our side
Processing is based on Art. 6(1)(b) GDPR (performance of contract) and Art. 6(1)(f) GDPR (legitimate interest in providing the contracted service). Data minimisation is applied throughout: only the metadata necessary for the analysis is queried.
A Data Processing Agreement (AVV/DPA) is available on request. Contact us before we begin if your organisation requires one.
If your DPO objects to the inclusion of user personal data, the User Health module can be excluded from the analysis scope.
Metadata is processed locally in our analysis environment and never uploaded to cloud services, third-party APIs, or external servers.
We only issue read-only GET requests against the Salesforce REST and Tooling APIs. We never create, update, or delete any records, metadata, or configuration in your org.
The External Client App requires only two OAuth scopes:
- api: read-only access to REST and Tooling API endpoints
- refresh_token: ensures the analysis can be completed without session timeout interruption
No deploy, write, or admin scopes are requested.
We read the configuration behind every screen: layouts, Lightning pages, flows, and permissions, directly through Salesforce's official APIs. Reading the metadata is more complete and more objective than clicking through the interface, so a read-only integration user with no interactive login is all the analysis needs. The lack of UI access is intentional, not a gap in coverage.
To grant us access, your Salesforce admin creates an External Client App in your org. This takes approximately 30 minutes and gives you full control over the connection.
- 1
Step 1: Create the External Client App
Navigate to Setup → External Client Apps → New. Enter a name (e.g. "Salesforce Health Assessment") and a contact email.
- 2
Step 2: Configure OAuth Settings
Enable OAuth and add exactly two scopes: "Manage user data via APIs (api)" and "Perform requests at any time (refresh_token)". Set the callback URL as instructed.
- 3
Step 3: Set a Relaxation Policy (optional)
Under Policies, set "Permitted Users" to "Admin approved users are pre-authorized" for tighter control, or leave as "All users may self-authorize".
- 4
Step 4: Create an Integration User
Create a dedicated user with a minimal permission set (API Enabled + read-only object access). Never use a System Administrator account for this purpose.
- 5
Step 5: Assign the App to the Integration User
If using pre-authorization, assign the External Client App to the integration user via a permission set.
- 6
Step 6: Share Credentials Securely
Send the Consumer Key and Consumer Secret via a secure channel (e.g. encrypted email or password manager share). Never send credentials in plain-text email.
- 7
Step 7: Authorize the Connection
We authenticate the integration user via the OAuth 2.0 flow. Your admin does not need to share any passwords; the OAuth handshake handles authentication.
- 8
Step 8: Analysis Execution
All API calls are read-only GET requests. You can monitor API usage in Setup → API Usage Notifications.
- 9
Step 9: Revoke Access
Once the engagement is complete, navigate to Setup → External Client Apps → your app → Revoke All Tokens, or delete the app entirely. We typically keep access only until we have reviewed the results together and confirmed no follow-up review is needed.
You maintain full control over the connection at all times. Revoke access from Setup → External Client Apps whenever you choose. We recommend keeping access until we have reviewed the results together; in rare cases a follow-up review may be useful at no additional cost. After that, you can deactivate or delete the integration user to remove all access permanently.