Questions about security?
Write to support@underscore.am, or read the privacy policy and DPA.
Security
The specifics: how sign-in works, what AI tools and connectors can reach, where data lives and how you get it out. And what we don't have yet.
PBKDF2-SHA256 with 100,000 iterations and a random salt per password, compared in constant time. Unknown emails get the same answer as wrong passwords.
Five failed sign-ins per email in 15 minutes, and 30 per IP address, lock further tries out for a while, even with the right password.
256 random bits, stored only as a SHA-256 hash, so a copy of the database can't be replayed. Sessions expire after 30 days, and changing your password signs out every other session.
The API reads tokens only from the Authorization header, never from cookies or URLs, so there is no CSRF surface.
PKCE is required, codes are single-use and last 5 minutes, and access tokens last an hour. Tokens are stored as hashes and act only as the member who signed in.
Programs sent to the MCP server run in a fresh, isolated Worker with no network access and an empty environment, limited to 30 seconds, 10 seconds of CPU and 200 tool calls.
Hasarak signs every request to a connector with an Ed25519 key, so a connector can reject anything that didn't come from Hasarak.
An admin approves each permission (read messages, write pages, …), calls outside them are refused, and connectors can't see DMs.
Admins manage settings, connectors, members and invites. Guests can't see private channels or other members' email addresses and can't edit pages.
Deactivating a member deletes their sessions and MCP tokens for that workspace.
Invite links are single-use, stored as hashes, and expire after 7 days.
Workspace data and files live on our server there. The file store is private: every read and write is signed.
Encrypted snapshots every 6 hours to Cloudflare, Inc. (R2) in the EU, kept for 30 days, plus daily copies that can't be deleted or changed until they expire. A missed backup alerts us.
Everything is served over HTTPS with HSTS. The web app and this site run under a Content Security Policy that allows no inline scripts and no third-party scripts.
Product analytics go to PostHog, as the privacy policy describes, and the web app sends none while your browser sends Do Not Track. We don't sell personal data.
Workspace admins can download channels, messages, threads and pages as one JSON file (pages as Markdown) from Settings › General.
Settings › Account › Delete account removes your account and memberships and revokes your sessions and tokens.
Data is deleted within 30 days of an account or workspace being closed. Backups that still hold it expire after 30 days.
Not yet. Members sign in with email and password.
Not yet.
No. The server reads messages so it can search them and pass them to the connectors you install.
Not yet. We don't claim certifications we don't have.
On servers run by OVHcloud in the United Kingdom. Encrypted backups go to Cloudflare, Inc. (R2) in the EU.
Not yet. Members sign in with email and password; passwords are hashed with PBKDF2 and failed sign-ins are throttled.
No. An MCP client acts as the member who signed it in, with that member's access, and a connector only gets the permissions an admin approved. Neither can see DMs it isn't part of.
Write to support@underscore.am.
Write to support@underscore.am, or read the privacy policy and DPA.