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