Security
Your writing stays portable first
Write starts with a simple security claim: every post is a portable Markdown file you can export. The product is built so you can leave with your work instead of trusting a closed database forever.
- Every post is a portable Markdown file you can export.
- Notes and bookmarks are unlisted forever at the action, store, sync, and MCP layers.
- Every mutation writes an action_audit record.
- Agent and sync access uses scoped, revocable wsk_ tokens.
- Sync writes use If-Match conflict checks.
Content boundaries
Blog posts can become public. Notes and bookmarks are unlisted forever. That rule is enforced in editor actions, the store layer, sync API writes, and MCP tools, so a client cannot publish those item types by changing Markdown frontmatter.
Audit and sync
Every mutation writes an action_audit record. Sync clients replace whole Markdown files and must send If-Match with the last known file hash, so stale writes can be rejected instead of silently overwriting newer work.
API access
API and MCP access uses bearer tokens beginning with wsk_. Tokens are scoped and revocable. Raw token secrets are shown once, then stored only in hashed form.
Infrastructure basics
Write uses TLS in transit. Production secrets are environment-only values, not committed files. The Mac app signs in through Write instead of asking you to paste account passwords into the app.
Compliance
Write is in beta and does not claim SOC 2, ISO 27001, HIPAA, or similar certifications.
Report a security issue
Send security reports to security@write.ramine.net. Include the affected URL, steps to reproduce, and whether any data may have been exposed.