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, IDE session content, team memory, and project context are field-encrypted at rest (Fernet), with the key held outside the database. Phone call transcripts are not. They are stored as plaintext, and so are the text of Reception work orders and delivered report files. 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 IDE session 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. Three things are not: phone call transcripts, the text of Reception work orders, and delivered report files. We also leave in plaintext 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.
Reception work orders Yes Mostly plaintext No Account deletion Your request in your words, acceptance terms, status, and delivery receipt. The email or call context attached to an order is field-encrypted; the rest is not. There is no per-order delete. Reception, stage by stage.
Reception intake records Yes Plaintext No No A short audit record of each request and any clarifying question and answer, including your words. Kept after account deletion.
Delivered review reports Server files No No Not yet Includes the lines the report quotes and the list of files reviewed. Account deletion does not remove these files today; contact Loam to have them removed.
Email requests Yes Body encrypted No Account deletion The message body and text extracted from attachments are field-encrypted. Sender, recipients, subject, and the attachment files themselves are not. Removed on account deletion when the message was matched to your account.
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.
Reception Plaintext Database (binary, if fetched) 30 days No auto-expiry Spoken verification codes are redacted before the transcript is stored. The call transcript is copied into the brief sent to the isolated review machine. Removed from the live database on account deletion.
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. Reception work orders leave the live database with the account, but delivered report files stay until Loam removes them, and intake records are kept.
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. Delivered Reception report files are not removed by account deletion today; see Reception.

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
Reception review (phone or email) No local files; the repository you registered A read-only, one-commit snapshot goes to an isolated review machine, not to Loam’s database The report, the lines it quotes, and the list of files reviewed Your request
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.

Reception

What a phone or email work order keeps.

Reception takes a request by phone or email, verifies who is asking, and runs the work on an isolated review machine. Each stage keeps something different, and not all of it leaves with your account.

Stage What is kept Encrypted at rest? How it is removed
Work order Your request in your words, acceptance terms, status, and the delivery receipt. The call transcript, with spoken verification codes redacted. Mostly plaintext. The email or call context attached to the order is field-encrypted. Account deletion. There is no per-order delete; erasing an order from your board cancels it and keeps the record.
Intake record A short audit record of each request and any clarifying question and answer, including your words. Plaintext Kept after account deletion.
Repository snapshot A read-only, one-commit copy of the repository you registered, fetched with a short-lived credential that can only read that repository. It exists only on the isolated review machine. Not application-encrypted Removed when the run finishes, fails, or is cancelled. Delivery is refused until removal is confirmed. If the machine itself crashes mid-run, the copy stays until it is removed by hand.
Job folder on the review machine The draft report and the sources it was built from. Not application-encrypted Deleted by a daily cleanup once it is more than 8 days old.
Delivered report The report, the lines it quotes, and the list of files reviewed. Saved as a file on Loam’s server and sent to you as an email attachment, or as a link that expires after 7 days when the file is too large to attach. Not application-encrypted Not removed by account deletion today. Contact Loam to have report files removed.
Development-meeting folder When a development meeting is ordered for a registered repository, its plan folder is committed into that repository’s docs folder, and a copy is kept on Loam’s server. Not application-encrypted Remove it from your repository like any other commit. The server copy is handled like a delivered report.
Gaps we have not closed

Account deletion does not yet remove delivered report files. Intake records, and the notes recorded when older open orders were closed out, outlive the account by design. There is no self-service way to delete a single work order or its report. Until those controls exist, ask Loam through the contact page to remove report files.

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, encryption-exception, and deletion disclosures were checked against source on 2026‑09‑13. Ask for a current verification packet before approval.