Roles & Permissions

A detailed breakdown of what each role can do in CPI Studio.

Roles Overview

Feature / ActionViewerDeveloperAdmin
Assets
View packages & iFlows
Download iFlow zip
Deploy / Undeploy iFlow
Script Editor
View scripts (read-only)
Edit & save scripts
AI Assistant
Message Logs
View logs
Retry failed messages
Export CSV
Runtime
View runtime status
Start / Stop iFlows
Landscape
Compare versions
Promote iFlows
Settings
View tenant profiles
Add / edit tenant profiles
View audit log
Manage license key

Assigning Roles

Roles are assigned via BTP Role Collections (when XSUAA is configured) or through the local user management in Settings when running without XSUAA.

See BTP / XSUAA for details on Role Collection assignment.

Tip: Give business users and auditors the Viewer role — they can read logs and check runtime status without any risk of modifying content.

Break-Glass Admin Account

The break-glass account is an emergency admin that can log in even when SSO is misconfigured, XSUAA is unreachable, or the normal admin user has been accidentally deleted. It is a standard pattern in enterprise software (equivalent to AWS root, SAP client 000 superuser, etc.).

How to Configure

Set two CF environment variables and restage:

cf set-env cpi-developer-studio SUPERUSER_USERNAME admin
cf set-env cpi-developer-studio SUPERUSER_PASSWORD 'YourStrongPassword!'
cf restage cpi-developer-studio

Once set, you can log in at /auth/login with those credentials. The account always has the Admin role regardless of any Role Collection or users.json configuration.

Security Properties

PropertyBehaviour
Password storageHashed with bcrypt at app startup — never stored or logged as plaintext
VisibilityDoes not appear in the user management list — cannot be deleted or modified via the UI
ScopeOnly active when both env vars are set; remove either to disable the account entirely
PrecedenceChecked before users.json — takes effect even if the username also exists as a local user
Audit trailAll actions taken while logged in as the superuser appear in the audit log under that username

⚠️ Choose a strong, unique password per deployment — do not reuse the same credentials across customer instances. Rotate the password by updating the env var and restaging. Remove both env vars entirely if you no longer need the break-glass account.

Disabling the Account

cf unset-env cpi-developer-studio SUPERUSER_USERNAME
cf unset-env cpi-developer-studio SUPERUSER_PASSWORD
cf restage cpi-developer-studio