Privacy Policy — Countenance
Countenance runs entirely on-device. Video, audio, images, facial data, and inferences do not leave your browser. There is no Countenance server, analytics, or telemetry.
Extension: Countenance · Publisher: Wistify Sdn Bhd
Data we do not collect
- No video frames, screenshots, or tab content are transmitted.
- No facial measurements, embeddings, landmarks, or expression labels are sent off-device.
- No account, identity, or browsing history is collected.
Data processed on your device
| Data | Where | Why | Retention |
|---|---|---|---|
| Current-tab video frames during detection | Offscreen document memory only; never persisted | Detect faces and classify expression | Discarded immediately after inference |
| Expression events, local speaker id, timestamp, tab title, and session time | chrome.storage.local on your device | Show session history | Until deleted or automatically pruned by your retention setting |
| Overlay, confidence, battery, developer, and retention settings | chrome.storage.sync and chrome.storage.local | Remember your preferences | Until changed |
A speaker id is a local numeric track id, not a biometric identity. It resets when a face leaves the view or a session ends and does not persist across browsers.
Permissions
| Permission | Use |
|---|---|
| tabCapture | Captures the active browser tab’s video only after you choose Start detection. |
| offscreen + USER_MEDIA | Runs on-device ML inference on the captured stream. |
| storage | Stores session summaries locally and synchronizes UI preferences. |
| scripting + activeTab | Injects the transparent overlay canvas into the captured tab. |
| Meeting-site host permissions | Enables the overlay on supported Google Meet, Zoom, Teams, Whereby, and Webex pages. |
| Optional all-sites permission | Lets you explicitly grant access to another origin; nothing runs when access is denied. |
Countenance does not request desktop capture, does not capture audio, and does not request access to all sites at installation time.
Third-party services
None at runtime. The OpenCV Zoo models and WASM runtimes ship inside the extension package. No external requests are made while detection runs.
Your controls
- Start and Stop detection determine when processing occurs.
- Session history can be deleted one session at a time or all at once.
- The retention setting automatically removes old ended sessions.
- Previously granted site access can be revoked in Chrome’s extension settings.
Chrome Web Store disclosure
Single purpose: overlay live facial-expression cues on the current meeting or interview tab using on-device machine learning. No data is sold or transmitted off-device. Local storage contains only session events and tab titles; synchronized storage contains UI settings.
Changes
Policy updates will appear on this page and in the extension’s store listing notes.