Security, Privacy, and Trust
August 23, 2026

How integration credentials work

App tokens versus user-bound tokens, scoping, rotation, and offboarding.

Each integration Synthelio offers needs a credential, and they are not all the same kind of thing. Some are scoped app tokens, some are OAuth grants, and one is a user login. The difference matters for how you set them up and what happens when somebody leaves.

The two kinds of credential

App-level credentials are issued to an application rather than to a person. HubSpot legacy app tokens, Dynamics client secrets, and the Slack and QuickBooks OAuth grants work this way. They survive staff changes and can be scoped narrowly to just what the integration needs.

User-bound credentials act as a specific person and inherit that person's visibility. Pipedrive API tokens, Atlassian API tokens for Jira, and the Salesforce connected app flow all fall here.

User-bound credentials carry two risks worth planning around. The integration only sees what that person sees, so a token generated by someone with partial visibility produces a partial sync. And when that person leaves and their account is deactivated, the token dies with them and the integration stops.

The mitigation is the same in every case: generate user-bound credentials from an account that will outlast any individual's tenure and has the visibility the integration actually needs.

Scope what you can

Where a provider lets you choose permissions, give the integration the minimum that works.

The clearest example is HubSpot. The three read scopes are all that is required for the pipeline sync. The write scope is only needed if you turn on pushing SOW amounts back to deals. If you are not using that feature, do not grant it, and if you are, know that it is the only thing Synthelio writes to your CRM.

For Dynamics, delegated user impersonation and application permissions are different postures with different blast radiuses. Pick deliberately rather than by whichever appears first in the documentation.

Salesforce is the heaviest one

Worth being direct about, because a security reviewer will spot it and it is better coming from you.

The Salesforce connection uses the OAuth username-password flow, which means storing a username together with a password and security token concatenated, in addition to the connected app's consumer key and secret. It also requires enabling username-password flows at the org level and relaxing IP restrictions on the connected app.

That is a heavier credential than any of the other integrations require, and it is a Salesforce flow characteristic rather than something Synthelio chose. If your security posture does not permit it, that is a legitimate position, and the practical answer today is to hold off on the Salesforce connection rather than to weaken your org settings.

If you do proceed, use a dedicated integration user with exactly the object access the sync needs, not an administrator account and not a real person's login.

Rotation and revocation

Credentials expire, get rotated, and occasionally need killing quickly. Three habits cover most of it:

  • Rotate on a schedule you decide, not when something breaks. Rotation means generating a new credential at the provider and saving it in Synthelio.
  • Revoke at the provider, not just in Synthelio. Removing a token from Synthelio stops Synthelio using it; only the provider can invalidate it.
  • Expect OAuth connections to need reconnecting. QuickBooks in particular will expire, and a reconnect is routine rather than a fault.

When someone leaves

Run this list, because it is where integrations quietly break or quietly stay open:

  • Deactivate them in Synthelio, which removes all access including any AI assistant they connected.
  • Check whether any integration credential was generated from their account. Jira and Pipedrive are the usual ones.
  • Regenerate those from a surviving account before their provider account is disabled, not after.

The order matters. Once their Atlassian account is gone, the token is unrecoverable and the Jira sync stops with no obvious explanation.

The MCP connector is different

Worth separating, because it is the one place where no stored credential exists.

The MCP connector uses per-user OAuth. There is no service account, no shared secret, and no pooled access. Every request runs as the person who authorized it, under their own permissions, and deactivating them ends it immediately.

Can’t find what you’re looking for?

Tell us what you need. We will point you to the answer or write the article.

Contact Support