Access, audit and tenancy
Diting's permission model covers menus, pages, buttons and AI actions. The server is the only authority; hiding a button is not security.
Roles
- Built-in roles work out of the box
- Custom roles map to permission codes
- Permission codes correspond one to one with backend routes
Permission codes
Codes are grouped by module, for example:
dashboard,dashboards.viewlogs,tracesapplications.managesettings.pipelines
A new page must register its codes, or it stays invisible by default.
Audit
These actions are recorded:
- sign-in and sign-out
- configuration changes
- batch runs and file distribution
- releases and rollbacks
- AI actions
Each record contains actor, time, parameters and result.
Tokens
- API tokens are scoped
- Tokens can be revoked at any time
- Sensitive values stay in server-side configuration, never in public runtime config
Data boundary
- Capture happens on the host
- Data is stored in your building
- No vendor server connection is required
Session privacy
Replay supports input masking and field-level blocking. Configure masking before onboarding pages with personal data.
Related: AI, MCP and knowledge, Kubernetes onboarding.