Sésame

Privacy policy · last updated September 3, 2026

No data collected. Nothing leaves your Mac.

This page covers Sésame as a whole — the MCP server, the CLI, the menu bar app, and the "Sésame" Chrome extension (beta). It's written to be read before installing the extension from the Chrome Web Store, but it applies to the whole project. (Version française : sesamekey.app/fr/privacy.)

What Sésame collects

Nothing. No analytics, no telemetry, no account, no remote server. Sésame is local software: the MCP server, CLI, menu bar app, and Chrome extension all run on your Mac and only ever talk to each other, never to a third-party service. There's no outbound network request tied to your credentials — the only network traffic anywhere in the project is what you yourself trigger by browsing in Chrome.

Where your credentials go

A credential you save (sesame add, the app's own window, or sesame_request_site at Claude's request) goes straight into the macOS Keychain (service sesame), encrypted by the system. Sésame keeps no copy of it anywhere else: no file, no cache, no log ever contains a password.

At login time, the password is read from the Keychain, typed into the login page (a dedicated-profile Chrome, or the extension in your everyday Chrome — see below), then cleared from the memory of the process that handled it. It never passes through any third party, nor through the AI model: Sésame's MCP tools never return a username or password, only a result ("done," "denied," "failed") and descriptive step labels.

The "Sésame" Chrome extension

The extension stores no persistent data: it keeps no credential, no password, no browsing history. It receives a username and password for a single fill operation, types them into the page, and never reads them back (it only returns step labels like "password filled," never the value). It talks exclusively to a local process, the Sésame native bridge, via Chrome's native messaging channel — a browser mechanism, not a network request.

The verification code (2nd factor) is always typed by you, by hand; the extension waits for it, it never reads it.

Permissions requested, and why

PermissionWhy
nativeMessagingTalk to the local Sésame bridge (a process on your Mac), to receive a fill request and return a result.
tabsFind a tab already open on the requested site's domain, or open a new one on its login page.
scriptingInject the fill script into the page, on request only — never declared permanently on every site.
activeTabAct on the tab in question at the moment of the request.
storageRemember the bridge's connection state for the popup's display — never a credential.
host_permissions: <all_urls>The site to fill in can be any one of those you save in Sésame; the extension can't know in advance which. It only acts on the tab targeted by an explicit request, never in the background on the others.

What stays on your Mac

None of this is synced, backed up to a server, or accessible from another device.

What Sésame doesn't do

The real limits — what another extension installed in your everyday Chrome could observe, for instance — are honestly documented in SECURITY.md (and its French version, SECURITY.fr.md), not hidden behind this page.

Contact and reporting

Sésame is a personal, free project, MIT-licensed, provided as-is with no warranty. To report a security vulnerability, use the Security → Report a vulnerability tab of the GitHub repository rather than a public issue. For any other question about this policy, open an issue on the same repository.