Security & Privacy

How Loam stores, protects, and deletes your data.

The data inventory, encryption model, provider flow, retention periods, deletion controls, and current gaps.

The threat model, in plain English

The questions a careful person actually asks.

Before the detail below, here is the short version of who can see your data, what protects it, and where the honest gaps are. Every line is expanded further down the page.

Can another user see my data?

No other customer can. Customer-facing access is scoped to your account and cross-account requests return not found. Authorized Loam administrators can access call logs and transcripts for service operation and support.

What if the database is breached?

Your credentials, conversation content, team memory, and project context are field-encrypted at rest (Fernet), with the key held outside the database. Passwords are bcrypt-hashed, never stored in the clear.

Does my source code leave my machine?

Only what you hand over. Loam does not scan or upload your repository by default. Workspace Indexing, which sends a snapshot, is opt-in and off by default.

Who runs the AI, and is my data sold?

Claude Code uses the developer’s configured Anthropic account for supported editor workflows. Loam server-side model work uses a Loam-managed key during active trials and for admin accounts; after a trial, the customer’s configured Anthropic key is required. Gemini image generation uses a Loam-managed server-side key. Your content is never sold, used for ads, or used to train Loam-owned models.

Can I get it all back out, or delete it?

You can delete one member’s memory, one project, or the live account database record behind a phone code. Server-stored generated audio needs Loam-operated cleanup. A one-click export isn't built yet.

What happens if I leave?

Account deletion runs as one transaction across the live database records tied to your account. That database deletion is permanent; generated audio files and managed infrastructure follow the separate cleanup boundaries below.

What Loam stores

The memory that makes the team work.

To support continuity, Loam stores account-scoped session and project records in the database. Some generated audio is stored separately as server files. The inventory below states the boundary:

  • Account basics — your email, name, and phone number. Your phone is used for sign-in verification and the team's voice calls.
  • Your sessions — the transcripts of your work with the team, and the documents, code, and audio produced in them.
  • Team memory & project context — selected decisions, preferences, corrections, findings, and open work that can be retrieved for later sessions.
  • Calls — conversation transcripts stored as plaintext for memory synthesis. For Meet the Team, Call Team, and ReachOut calls, audio recordings (where fetched) are stored in the database and cleared on a 30-day schedule. Full call records do not currently auto-expire; they remain until account deletion or cleanup by an authorized Loam administrator. Morning Read and Studio audio are server files and require Loam-operated cleanup after account deletion. Authorized Loam administrators can access cross-account call logs and transcripts for service operation and support.
How it's protected

Secrets encrypted. Accounts isolated.

  • Every secret is encrypted at rest. Your API keys, connected-service tokens (like GitHub), and any provisioning credentials are encrypted with Fernet (AES-based) symmetric encryption. The encryption key is held outside the database, and rotating it is a supported operation.
  • Passwords are hashed, never stored. We hash passwords with bcrypt and a per-password salt. We can't read your password, and we never store it in the clear.
  • Strict customer-to-customer isolation. Customer-facing requests are scoped to the authenticated account, so one customer cannot reach another’s memory, projects, or sessions. Authorized Loam administrators have separate operational access to call logs and transcripts.
  • Encrypted in transit. All traffic to Loam is served over TLS (HTTPS).
Where the line is

Your conversation content, team memory, and project context are field-encrypted at rest with the same Fernet encryption that protects your credentials — stored as ciphertext, with the key held outside the database. What we leave in plaintext is the lookup metadata recall needs to work: display names, the phone number we match a return call against, and the keyword tags and short summaries the memory index searches. Encrypting those would break search and recall, so they stay queryable behind strict per-account isolation. We'd rather tell you exactly where that line sits than imply more than we do.

Every data type, line by line.

The whole picture in one table — what each kind of data is, whether it's stored, whether it's encrypted at rest, whether it stays searchable, and whether you can delete it.

Data type Stored? Encrypted at rest? Searchable? User-deletable? Notes
Account basics (email, name, phone) Yes No Yes Yes Phone is used for sign-in codes and team calls. Removed on account deletion.
Password Hash only bcrypt + salt No Yes Never stored in the clear. We cannot read it.
Session transcripts Yes Field-encrypted (Fernet) No Yes Includes documents, code, and audio produced in the session.
Team memory & project context Yes Field-encrypted (Fernet) Index only Yes Content is ciphertext; only the keyword tags / short summaries the index searches stay plaintext.
Recall metadata (names, phone-match, tags, summaries) Yes Plaintext Yes Yes Left queryable on purpose so search and return-call matching work; protected by per-account isolation.
Credentials (API keys, GitHub/OAuth tokens) Yes Field-encrypted (Fernet) No Yes Decrypted only for the moment an action runs; key lives outside the database.
Call transcripts Yes Plaintext No Yes Stored as plaintext for memory synthesis (not field-encrypted like session content). No automatic record expiry today; removed on account deletion or cleanup by an authorized Loam administrator.
Call recordings (audio) If fetched No No Yes Stored only for calls that completed (non-voicemail, with a conversation ID). Cleared on a 30-day schedule; status becomes “expired.” The remaining call record does not auto-expire.
Source code Only if shared As session content No Yes No default repo scan. Reaches Loam only via paste, attach, a workflow that needs it, or Workspace Indexing (opt-in, off by default).

Voice & audio — feature-by-feature.

Each voice feature follows its own storage model. The table below shows exactly what’s retained, how long, and whether records expire automatically.

Feature Transcript Audio storage Audio cleared Record cleared Notes
Meet the Team Plaintext Database (binary, if fetched) 30 days No auto-expiry Recording stored as nullable binary. Cleared automatically; status becomes “expired.” User-deletable via account deletion.
Call Team Plaintext Database (binary, if fetched) 30 days No auto-expiry Same model as Meet the Team. Trigger = manual; source = ide.
ReachOut Plaintext Database (binary, if fetched) 30 days No auto-expiry Automated and on-demand triggers share the same storage model as above.
Morning Read Server file (path in database) Loam-operated cleanup Account deletion (database) No auto-expiry. Account deletion removes the database path, not the server file. Email download links expire after 48 hours; in-app download requires an active session.
Studio Server file (path in database) Loam-operated cleanup Account deletion (database) No auto-expiry. Account deletion removes the database path, not the server file. Email download links expire after 72 hours; in-app download requires an active session.
Connected accounts & infrastructure

Used for the moment, then put back encrypted.

When you connect a service like GitHub, that token is encrypted at rest and decrypted only for the moment an action runs — never cached between operations.

  • You can disconnect GitHub or disable your API key at any time.
  • Deleting your account removes credentials stored in the live Loam database. Generated server files and managed infrastructure follow their separate cleanup and teardown boundaries.
Current hosted model

Supported hosted infrastructure is provisioned in Loam-managed AWS and Cloudflare accounts. Applicable resources, limits, teardown, and charges belong in the plan or order form. Bring-your-own cloud is planned and is not available today.

You're in control

Delete memory, projects, or the account record.

  • Reset one team member. Delete an individual team member's memory of you and your work.
  • Delete a project. Remove a project you no longer need.
  • Delete the account record. Behind a one-time code sent to your phone, one database transaction removes memories, sessions, projects, settings, stored credentials, and the user record together. Generated audio stored as server files requires Loam-operated cleanup; infrastructure teardown follows the applicable plan or order.
Honest about retention & export

Most of your data doesn’t auto-expire — memories, session content, and project context stay until you remove them. Fetched audio recordings from phone calls (Meet the Team, Call Team, ReachOut) are cleared on a 30-day schedule. The remaining call records do not currently auto-expire; they remain until account deletion or cleanup by an authorized Loam administrator. A one-click data export isn’t built yet.

The live database deletion is permanent and is not individually recoverable. Infrastructure backups exist for disaster recovery only and are not used to restore individual deleted accounts. Snapshots may contain deleted database data until they expire; the current backup window is 7 days. Server-stored generated audio requires Loam-operated file cleanup after the database transaction.

Your code

What happens to source code you share.

Loam does not scan or upload repositories by default. Source code reaches Loam only when you paste it, attach it, start a workflow that requires it, or enable Workspace Indexing. Workspace Indexing is opt-in and off by default.

Workflow Reads local files? Sent to Loam? Stored? Default
Normal session Pasted or typed content only Yes, if you provide it Session history On
Build Mode Files required for requested milestone Yes, via session context Session history User action
Code Review Diffs and review anchors Yes, via session context Review findings and anchors User action
Workspace Indexing Full project tree and file contents Yes, to assemble session context Not persisted in Loam's database Off by default
  • Scoped to your account only. Code you share in a session is isolated to your account. No other user or account can access it.
  • Not sold, not used for advertising, not used to train Loam-owned models. When a workflow requires model reasoning, content you provide may be sent to Loam's model providers — Anthropic Claude or Gemini — strictly to perform the requested task. See Model providers below.
  • Removed from the live database on account deletion. Session history, including code shared in a session, is deleted in the account transaction. Disaster-recovery snapshots may retain deleted database data for the documented seven-day backup window.
Future: team & organizational version

A future version of Loam will support organizational accounts where memory is institutional and shared across team members. That model is in development and does not exist today. All memory is currently per-user and isolated.

Sign-in & sessions

Verified, expiring, and revocable.

  • Multi-factor for sensitive actions. A one-time code sent to your phone gates the things that matter — deleting your account, changing your number.
  • Expiring sessions. Sign-in sessions expire, and logging out (or changing your password) immediately invalidates every active session everywhere.
  • Repeated bad logins lock the account to blunt brute-force attempts.
What we don't do

The other half of the promise.

  • We don't sell your data or hand it to advertisers.
  • We don't build location or device-fingerprint profiles of you.
  • We don't store your payment-card details — billing is handled by our payment processor; we keep only a customer reference.
Model providers

Who performs the AI work.

Loam uses external model APIs to perform coding, review, synthesis, memory, and voice-related workflows. Depending on the feature, session content, code snippets, documents, prompts, or generated outputs may be sent to those providers to complete the requested task.

Loam does not sell customer data, use customer content for advertising, or train Loam-owned models on customer content.

  • Anthropic Claude — Claude Code uses the developer’s configured Anthropic account for supported editor workflows. Loam server-side model work uses a Loam-managed provider key during an active trial and for admin accounts; after the trial, the customer’s configured Anthropic API key is required.
  • Gemini API — used server-side for image generation in Build Mode when enabled. Calls originate from Loam’s infrastructure and use a Loam-managed provider key; customers do not configure or pay for a Gemini key.
Provider terms

Provider retention and training behavior is governed by each provider's API terms and Loam's account configuration with that provider. Customers should review those provider terms as part of any security or procurement review.

The deal

The team remembers you. You decide what it keeps.

The account-scoped engineering record is a core product surface, not a hidden profile. The access, storage, retention, deletion, and provider limits are stated above. If a security review needs evidence beyond this page, contact Loam.

The core storage and access claims on this page were last checked against source on 2026‑07‑20. Reception disclosures were added from the published August implementation record on 2026‑08‑31. Ask for a current verification packet before approval.