“Inside permissions only” is one of Teeem AI’s core promises. This page explains how the permission model actually combines on every request.Documentation Index
Fetch the complete documentation index at: https://docs.teeem-ai.com/llms.txt
Use this file to discover all available pages before exploring further.
Four layers, in order
1. User identity
Establish who sent the request.
- Slack —
users:readon the bot token resolves the sender → mapped to your tenant - Web chat — JWT token verification (HMAC-SHA256, 8-hour expiry)
- KakaoTalk — sender identified via the bridge
- Teams — Microsoft auth token
- REST webhook —
Authorization: Bearer <webhook-token>
2. RBAC — six tiers
Roles define which tools and which data the user can reach.
Change roles in Users → Role. With SSO on, IdP group mapping assigns roles automatically.
| Role | Highlights |
|---|---|
platform_admin | All-tenant management (FlowOS ops only) |
enterprise_admin | All settings, users, compliance for the org |
team_admin | Team-level user / channel / app management |
power_user | All tools, partial settings view |
user | Chat, manage own OAuth |
viewer | Read-only (dashboard) |
3. ABAC — data classification matching
Data carries a class. The user’s role determines whether the class is reachable.Sample policy:
KB document sensitivity (public/private), App Pack models, and ERP-connector revenue/HR data all flow through this same hierarchy.
| Class | Who can read |
|---|---|
public | Everyone |
internal | user and above |
confidential | team_admin and above |
secret | enterprise_admin only |
4. Channel ACL + tool approval gates
Even with data access, what you do with it is checked again.
- Channel ACL — Is the sender a member of the destination channel?
- External-send gate — Mail, SMS, external messages may need approval
- Payment gate — Tools like Toss payments are role-gated separately
- Bulk-download gate — Above N records, an approval is required
- IP allowlist — Block requests from outside the corporate network (when enabled)
What permission denial looks like
When access is denied, the user gets an actionable explanation.- ABAC class too high
- Channel ACL denied
- External send needs approval
- Tool disabled
Per-tool policy (example)
In Operations → Tool Policy, enable, disable, or gate each tool.OAuth — personal account links
Tools that touch the employee’s own Gmail / OneDrive / Calendar need a separate OAuth link.- First use prompts an OAuthLinkCard in the chat
- Tokens are stored encrypted, scoped to that user (no other employee can use them)
- Auto-refresh near expiry; on failure, a re-link prompt
- Disconnecting calls Google / Microsoft revoke endpoints — instant invalidation
Audit trail
All permission decisions land in the audit log.SSO and auto-provisioning
Larger organisations map IdP group membership directly to roles.| IdP group | Teeem AI role | Data class reachable |
|---|---|---|
Engineering-Leads | team_admin | confidential |
Sales-All | power_user | internal |
Contractors | user | public |
Finance-Admin | enterprise_admin | secret |
Next
Full security overview
PII, encryption, audit, compliance on a single page.
Manage roles in the admin console
Assign roles, change data classes, edit tool policy.