Security
The short version: Veles is a native managed package. Your configuration and secrets live in your own Salesforce orgs, move only between your own orgs, and nothing is hosted or stored anywhere else.
Where data lives
- Configurations, values, credentials, environments, workflows and logs are protected custom objects in the package. In a subscriber org no user, report, data loader or API call can read them directly, whatever their profile. Only the package's own code reaches them, on behalf of a user who holds the Veles Admin permission set.
- A secret field has one of three secret types: Masked (shown as dots, an admin can reveal it), Protected (never rendered to any UI, not even to the admin who stored it; the screen only says Populated or Empty) or Credential (like Protected, and also unreadable from Apex and Flow: it exists to be written into a Named or External Credential on the target org by a workflow action).
- Sharing is private by default. The app is reached through one permission set.
How orgs talk to each other
- Every call is between two of your own orgs. Veles has no server, no proxy and no vault in between.
- The Hub signs in to a child with a short-lived JWT for a dedicated integration user and an External Client App you pre-authorise in your own Setup. No OAuth consent screen, no refresh token stored.
- Each Hub-to-org connection has its own connection token, created when the org connects and rotated when it reconnects. There is no master secret shared by all orgs; a token that leaks is good for exactly one connection.
- A child can only ever read its own configuration from the Hub and report back to it. A child cannot write to the Hub, run anything on the Hub or see another child. That rule is enforced on the Hub, not hidden in the child's UI.
- Request and response bodies between orgs are encrypted with the connection token on top of TLS, and are only valid for 60 seconds.
Export and import
An export is an AES-256 encrypted file protected by a password you choose. You can exclude secrets from it. An import that fails part way rolls back completely.
What the integration user can do
The user Veles signs in as holds a least-privilege permission set cloned from Veles Hub Integration: access to the Veles API class and nothing else from the package. Veles never changes the user who started a run and never removes the Veles permission sets from anyone.
Logs
Log entries are encrypted at rest with a key Veles creates in your org. Veles never writes a token, key or password into a log or an error message.
Where to look
Everything above is visible in your org: the objects under Setup > Objects and Fields, the permission sets, the External Client App, the Remote Site Settings Veles creates for each connection, and the Activity Log for every call it made.
