Extension pairing
The Chrome extension is a client of the local API. It records nothing; it tells the desktop app when a browser meeting is live and what it is called. This page covers the mechanics. The user guide is at Chrome extension.
Why pairing exists
Every request to the local API needs a bearer token, and a browser extension cannot read files on disk. Pairing gives the extension a token of its own, once, through a short-lived code, so that nothing else in the browser can talk to Recordist by pretending to be the extension.
The flow
- In Recordist, open Settings → Integrations and click Show pairing code. The app shows an 8-digit code.
- The user types the code into the extension popup.
- The extension posts
{ "code": "…" }toPOST /v1/pairand receives{ "token": "…" }. - The token is stored in
chrome.storage.local, in the user’s browser profile, and sent only tohttp://127.0.0.1:47321.
Codes expire after five minutes and are single-use; after five wrong tries the code is dropped and the user starts again. Options → Forget pairing in the extension deletes the token. From version 0.3.12 the extension gets a token of its own, which cannot read, change or delete meetings, and Revoke next to it in Settings → Integrations stops it at once.
What the extension calls
| Endpoint | When |
|---|---|
GET /v1/health |
Regularly, to show on the toolbar badge whether Recordist is running and recording |
POST /v1/recording/prompt |
When a meeting page becomes active with the microphone on: { source_app, title, url, attendees } |
POST /v1/recording/marker |
When the user drops a marker from the extension popup |
POST /v1/recording/stop |
When the user clicks Stop in the extension popup, or leaves a call whose recording the extension saw start while Stop when I leave the call is on in its options |
GET /v1/events |
To keep the badge in sync while recording |
The prompt endpoint only asks; the desktop app shows its confirm-to-record card and the person decides, unless they put that app on Record without asking for. The extension cannot start a recording on its own.
Permissions
| Permission | Why |
|---|---|
| Host access to the meeting sites (Google Meet, Microsoft Teams on the web, Zoom web client, Webex, Slack huddles) | To read the meeting title and the participant names as displayed |
Host access to http://127.0.0.1:47321/* |
To talk to the desktop app on your own machine |
storage |
To keep the pairing token and settings |
alarms |
To wake the service worker for the health poll |
activeTab, tabs |
To know which tab a meeting update came from and to notice when a meeting tab closes |
No remote code, no analytics, no requests to anything but loopback. It does not use any media API and never reads audio, video or screen content.
Installing it
The extension is a Manifest V3 extension for Chrome 120 or later, listed on the Chrome Web Store. The user guide covers installing and pairing it.