Skip to content

Security

Governed when you share it. Private when you don't.

On your machine, the free app makes no network calls with your content. On DraftMesh cloud, human actions tie to verified accounts and agents act under their own names. Edits synced from a local device retain that device’s self-asserted attribution. No agent can approve, roll back a version or manage sharing. From the Team tier up, an append-only log records every change and share, and every refusal of a caller it can identify.

The local-first posture

Your document content stays on your machine.

A cloud database that holds every customer's content in one place, reachable over the network, is a target. The free local app doesn't use one — your documents never leave your machine.

A planned, optional weekly usage ping is off by default and sends only the DraftMesh version and operating system — no document content, account or device identifier. Your network address is used only in memory to limit abuse and is never stored. Turn consent off withdraftmesh usage-ping off. Current npm dev and latestbuilds have no ping target, so the ping is inert even if consent is on.

01

No network calls with your content

The free local app makes no network calls that carry your document content. There is no document content in transit to intercept.

02

Plain files, not a proprietary store

Documents are ordinary .md files in a folder you choose. There is no database on our servers holding your content that could be breached, misconfigured, or leaked.

03

Data residency you already control

Your content resides wherever your disk resides. There is no separate question of which region or vendor's cloud your documents sit in, because they don't sit in one.

Encryption

Encrypted in transit and at rest, when you do sync.

The paid tiers add sync — across your own devices on the Individual tier, and with other people on the Team tier. Either way, synced content is encrypted in transit and at rest.

In transit

Synced content moves over encrypted connections between the client and our sync infrastructure — never in the clear.

At rest

Synced content is encrypted at rest in storage, so a copy of the underlying storage medium does not hand over readable document content.

Identity & access

Verified identity where it matters, self-asserted where it doesn't.

The free local app has no account system, so attribution there is self-asserted — you tell DraftMesh who you are, and it trusts you, because it's your machine. The paid tiers raise that bar.

Free tier: self-asserted identity

Attribution in the local app comes from your local configuration, not a verified login. That's appropriate for a single person on their own machine — it is never presented as a verified identity.

Paid tiers: verified identity

Sync on the Individual tier and sharing on the Team tier require a verified account, so every action by a member ties back to a real login — not a name someone typed in.

Team and Enterprise: SSO through your identity provider

Single sign-on via SAML or OIDC, through the identity provider your organization already runs — included, with no SSO surcharge. Access is governed centrally, and sign-in policy stays with your IT team.

Audit trail

A record of who did what, which can't be quietly rewritten.

From the Team tier up, every change, share and guest session, and every refusal of a caller DraftMesh can identify, is recorded and attributed to the person, agent, or guest link responsible. Nothing done through DraftMesh can edit or delete an entry, and the log is candid about what it leaves out.

Writes are recorded

Saves, restores, automatically combined edits and conflict resolutions each carry the identity that performed them, human or agent.

Access acts are recorded

Grants, revocations, guest links, guest sessions, and refusals of an identified person, agent or connector — a suspended member, a blocked connector — with the reason. A client refused again and again is recorded once per five minutes, not once per retry.

Reading the log is in the log

Viewing and exporting the audit log are recorded too — an export is a copy of the record leaving the system, so its entry is written first, and an export that cannot be recorded is refused.

Entries cannot be edited or deleted

The database refuses updates, deletes, and truncation of the log, so nothing done through DraftMesh can alter an entry. Nothing is pruned; entries are kept indefinitely.

What the log does not capture

Reads do not form a complete access trail. Only successful direct reads of Memory documents through hosted agent doors and API tokens are sampled at 10%; human browser reads, searches, maps, lists, local reads and other workspace kinds are not recorded as document reads. Requests with no valid credential and rate-limited requests are counted, not logged: there is no one to attribute them to. Most entries are written just after the act, on a best-effort basis; exports are the exception. The record is append-only rather than cryptographically tamper-evident, and the database guard behind it is not yet separated from the service's own database account, so someone with direct database access under that account could remove it. The full statement of what is and isn't captured is in the audit & activity guide.

Durability & recovery

Every version is kept. Nothing is silently overwritten.

Every save becomes a kept version, so each document has a complete, recoverable history — without a backup job anyone has to remember to run.

01

Complete version history

Every saved version of a document is retained, going back to the first version saved.

02

One-click rollback

Restore any earlier version in one click, with nothing to untangle and no command to run.

03

Simultaneous edits never overwrite each other

If two edits land at once, both are kept and you're told there's a conflict to resolve — DraftMesh never silently discards one in favor of the other.
Three preserved versions of the same document stacked behind each other, with a blue history badge in front.

Report a vulnerability

Found a security issue? Tell us directly.

Email support@draftmesh.com with what you found and, if you can, how to reproduce it. We'll acknowledge your report and work with you on responsible disclosure.

Put "Security" in the subject line, and please don't open a public issue. We aim to acknowledge a report within three business days, keep you updated while we investigate, and agree a disclosure date with you. We won't pursue or support legal action against good-faith research that tests only accounts and data you own or are permitted to use, avoids privacy violations, data destruction and service disruption, stops at the first sign of someone else's data, and stays confidential until a fix ships. Machine-readable contact details are in security.txt.

Security & procurement questions

Where is my document content stored?

In the free local app, nowhere but your own disk, as plain .md files. There is no cloud upload and no proprietary database holding your content. On the paid tiers, synced content is encrypted in transit and at rest.

Who can see my documents?

On the free local app, only processes running on your machine. On Individual, also the outside reviewers you give a guest link to, until it expires or you revoke it. On Team, the people, groups and agents granted that document or its whole workspace, plus your admins and auditors — all listed in one org-wide access review with a CSV export. Every change, share, guest session and refused request is recorded and attributed.

What happens to my data if DraftMesh has an outage or shuts down?

Nothing happens to your files. In the free local app they are plain markdown on your own disk, so an outage — or DraftMesh shutting down — doesn’t stop you opening and editing them with any other tool.

How do AI agents affect the security posture?

Registered agents have their own credentials and grants. An OAuth-connected assistant acts with the access of the person who connected it; its work is labeled as agent work on that person's behalf. There is also a floor no grant can lift: no agent credential can record an approval, roll back a version, or manage sharing, and an agent accepts suggestions only where a document's owner, the person it acts for, or a local workspace setting allows it. DraftMesh enforces this server-side rather than trusting the agent to decline.

How do I report a security vulnerability?

Email support@draftmesh.com with details and, if possible, steps to reproduce. We aim to acknowledge reports promptly and will work with you on responsible disclosure timing.

Start private. Govern it when you share it.

The free local app is free forever — no account, no upload, no card. Your markdown never leaves your machine.

Free forever, local, no account