Appearance
Environments & Keys
Environments are isolated workspaces. Each one has its own data and API keys.
Creating an Environment
- Log in to the Admin Panel
- Go to Environments in the sidebar
- Click Create Environment
- 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:
- Go to the environment detail page
- Click Rotate Keys
- A new key pair is generated
- Update your frontend (
pk_) and backend (sk_) with the new keys - The old keys stop working immediately
Revoking Individual Keys
You can revoke a specific key without generating new ones:
- Go to the environment detail page
- Find the key in the API Keys table
- 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 dataData 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:
| Setting | Type | Default | Description |
|---|---|---|---|
| Allow Images | toggle | on | Enable image file attachments |
| Allow Audio | toggle | on | Enable audio recording attachments |
| Allow Video | toggle | on | Enable video recording attachments |
| Max File Size (MB) | number | 10 | Per-file upload size limit |
| Max Attachments per Comment | number | 5 | How many files can be attached to one comment |
| Allow Reactions | toggle | on | Enable emoji reactions on comments |
| Allow Drawing | toggle | on | Enable freehand drawing overlay |
| Allow Mentions | toggle | on | Enable @mention autocomplete |
| Show Cursors | toggle | on | Show live cursor positions |
| Show Presence | toggle | on | Show presence avatars in the toolbar |
| Show Typing Indicators | toggle | on | Show "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.