Skip to content

Environments & Keys

Environments are isolated workspaces. Each one has its own data and API keys.

Creating an Environment

  1. Log in to the Admin Panel
  2. Go to Environments in the sidebar
  3. Click Create Environment
  4. Enter a name (e.g., "Production", "Staging")

After creation, you'll see your API key pair:

API Keys

Each environment has a key pair:

Publishable Key (pk_...)

pk_a1b2c3d4e5f6...
  • Where it goes: Your frontend code (HTML/JavaScript)
  • What it does: Identifies which environment to connect to
  • Safe to expose? Yes

Secret Key (sk_...)

sk_x9y8z7w6v5u4...
  • Where it goes: Your backend server (environment variables)
  • What it does: Mints user tokens + authenticates REST API calls
  • Safe to expose? No — never put this in frontend code

Save Your Secret Key

The secret key is only shown once when the environment is created. Save it securely (e.g., in your backend's environment variables or a secrets manager). If you lose it, you can rotate it from the Admin Panel.

Key Rotation

If a key is compromised or you need to rotate for security:

  1. Go to the environment detail page
  2. Click Rotate Keys
  3. A new key pair is generated
  4. Update your frontend (pk_) and backend (sk_) with the new keys
  5. The old keys stop working immediately

Revoking Individual Keys

You can revoke a specific key without generating new ones:

  1. Go to the environment detail page
  2. Find the key in the API Keys table
  3. Click Revoke

Revoked keys can't be used again.

Multiple Environments

Use separate environments to isolate data between contexts:

Your Pulse Account
├── Production (pk_prod..., sk_prod...)
│   └── Live user data
├── Staging (pk_stg..., sk_stg...)
│   └── Test data
└── Development (pk_dev..., sk_dev...)
    └── Local dev data

Data never crosses environment boundaries. A user in Production can never see data from Staging.

Environment Settings

From the environment detail page you can:

  • Edit the name — update the display name
  • View API keys — see key prefixes and creation dates
  • Rotate / revoke keys — manage key lifecycle
  • Browse data — see rooms, threads, users in this environment
  • View analytics — room count, thread count, user count, comment count

Configuration

Click the Configure Environment button on the environment detail page to open the configuration modal.

The modal exposes all feature flags for the environment:

SettingTypeDefaultDescription
Allow ImagestoggleonEnable image file attachments
Allow AudiotoggleonEnable audio recording attachments
Allow VideotoggleonEnable video recording attachments
Max File Size (MB)number10Per-file upload size limit
Max Attachments per Commentnumber5How many files can be attached to one comment
Allow ReactionstoggleonEnable emoji reactions on comments
Allow DrawingtoggleonEnable freehand drawing overlay
Allow MentionstoggleonEnable @mention autocomplete
Show CursorstoggleonShow live cursor positions
Show PresencetoggleonShow presence avatars in the toolbar
Show Typing IndicatorstoggleonShow "is typing..." in threads

Save the modal to apply changes immediately.

Reconnect required

Config is sent to clients during WebSocket authentication. Connected clients must reconnect (refresh the page) to receive the updated config.

For developer-level details on how this config is enforced and how to access it in code, see Environment Config.

Pulse Collaboration SDK