Credential Security Architecture

Reference · Security

Credential Security Architecture

How vCISO Lite protects the credentials you connect, and why a breach of our platform must never become administrator access to yours.

vCISO Lite reads your cloud, identity and code platforms to check your controls and, only when you allow it, makes changes you approve. Part I covers how a secret is stored. Part II covers the separation between reading and writing. Part III goes platform by platform. Part IV is what happens when something goes wrong, and what stays in your hands.

PART IHow a secret is stored

Every value gets its own key

We use envelope encryption. When you connect a platform, the secret it gives us (an API token, an OAuth token, a private key) is encrypted with a fresh, random 256-bit data key used for that one value and nothing else, using AES-256-GCM.

The data key is then sent to Google Cloud KMS, which encrypts it with a key-encryption key that never leaves KMS. We store the encrypted data key next to the ciphertext, and the plaintext data key is wiped from memory as soon as it has been used.

scope the one connection this value belongs to wrapped key the data key, encrypted by Cloud KMS nonce random, used once ciphertext the secret, encrypted with the data key (AES-256-GCM)

Bound to the connection it belongs to

Both layers carry the connection the value belongs to as authenticated data. Change that binding, or copy the value into another connection's record or another customer's, and neither layer will decrypt.

SECRET from your platform DATA KEY new for every value AES-256-GCM CIPHERTEXT stored wrap WRAPPED KEY stored CLOUD KMS key-encryption key never exported every use logged bound to one connection: moved anywhere else, neither opens our database holds only the two stored boxes; the key that opens them lives in KMS
Two layers, one binding. A copy of the database, a backup or a dump holds ciphertext and wrapped keys only. Opening either needs a KMS call that names the right connection.

Who can unwrap a key

PART IIReading is not writing

Two credentials, two jobs

Most of what vCISO Lite does is read: it scans your platforms and checks the results against your policies and frameworks. That uses the read-only credential you connect, such as a read-only administrator or auditor role.

Changing anything uses a separate write identity that you create and scope. A read credential is never used to write. Applies to every platform with a separate write identity

The write identity holds only the permissions the fixes need. It is released only to the part of our platform that applies changes, only while write access is active, and never once the connection has been revoked.

Four things, all yours, before anything changes

WRITE IDENTITY you create it, you scope it WRITE ACCESS issued by your admin for a set time APPROVAL a person, for this exact change CHANGE from → to, as shown RESCAN independent check passes RESOLVED fails ROLLED BACK exactly the settings seen before remove any one of the first three and nothing is written
The approval names the change, not a category. Each fix shows the setting, its current value and the value it will set before anyone approves it. Revoking write access at any point sends pending fixes back to step-by-step guidance.
PART IIIPlatform by platform
PlatformReads withWrites withWrite identity
OktaRead-only admin tokenYour API Services appSeparate
AWSRead-only role, no keysOpt-in fixes role, no keysSeparate
OthersOAuth or API tokenSame connection, gatedMoving

Okta

Changes run as an API Services app you create in your Okta org. Never a person's account, and never a personal API token.

We will never ask for Super Admin, Org Admin or Security Admin, for any feature. Okta · standing commitment

AWS

We store no AWS access keys.

Other platforms

Other platforms connect with OAuth or API tokens limited to the narrowest scopes they offer, stored the same way. Where we make changes on them, the same write access, approval and verification steps apply. We are moving each platform that supports it to its own separate write identity, as Okta and AWS have.

PART IVWhen something goes wrong

What each failure can and can't reach

What stays in your hands

The permissions you grant are the ceiling. Nothing on our side can raise it, and you can lower it or remove it without asking us.