Accounts, sign-in and recovery
Accounts are managed per user. Standard password registration includes email verification. Verification codes have expiry, attempt and resend limits to prevent reuse and repeated guessing. Users can change passwords in account settings, or use password recovery when they cannot sign in. Reset links have a limited lifetime and purpose and cannot be reused after completion. Completing a reset invalidates existing sessions. A reset does not bypass outstanding identity verification or additional authentication requirements.
Representative authentication and account-recovery flows.
Authorization by endpoint type
An endpoint is an API or connection that receives requests from an application or external system. Authentication and permission checks depend on its purpose.
Identity and data permissions are checked according to the endpoint's purpose.
Organization and data separation
Data is logically separated by workspace. Checks consider membership, role, ownership and visibility. Meetings, transcripts, summaries, invoices and time-tracking records each have their own access conditions. Administrator status does not grant unrestricted access to all private data. Download URLs for recordings and attachments are issued after checking access to the underlying resource.
Organizations and resources have separate permission checks within the same service.
Invitations, guests and meeting access
Invitations use hard-to-guess tokens. New invitation tokens are stored as hashes, have an expiry and are replaced when resent. Enterprise manual invitations also check the operator’s permissions, email/domain and plan conditions. Guests can join only the workspaces or meetings they are allowed to access. Media tokens are issued after checking participation rights, with publishing and receiving permissions set for the intended use.
Invitation and meeting permissions are checked before issuing the required media permissions.
APIs, AI tools and processing workers
The secret portion of an external API key is stored as a hash. Scopes define allowed operations, and configured source-IP conditions can restrict use. User-bound keys are distinguished from shared organization keys. MCP integrations for AI tools use OAuth authorization and PKCE to protect authorization-code exchange. Operations check current membership and data permissions as well as scopes.
Integrations and internal processing check the relationship between credentials and the requested operation.
Defenses against web application attacks
Input, permissions, processing and output are checked separately. The following summarizes implementations and areas subject to continued review.
Input validation and authorization are combined with controlled processing and output.
Command-injection defenses
Command injection occurs when input is interpreted as an operating-system instruction and triggers unintended execution. The key control is to separate the program and operation to execute from data supplied by the user.
Examples of checks between external input and execution. Implementation and isolation coverage vary by feature.
File validation and parser boundaries
A file cannot be trusted solely from its name or declared type. Additional checks for media used in subtitles and document processing examine the actual data, storage reference and reading method.
Media/document validation and isolated SAML/collaborative-data parsing apply to different processing paths.