Mossmoss
Features
PrinciplesPricing
Download
Mossmoss

Product

  • Features
  • Pricing
  • Download

Moss for

  • Developers
  • Writers
  • Researchers
  • Product Managers
  • Everyday Life

Resources

  • Release Notes
  • Design Principles
  • Support
  • Security

Legal

  • Privacy
  • Terms

Connect

  • Twitter / X

© 2026 Moss.

Back to home
Security
Architecture & Data FlowAI Agent & Data HandlingTelemetryApplication SecurityRegulatoryFAQDisclosureContact

Your notes never leave your device

No accounts, no cloud, no servers. Your data stays on your machine.

Architecture & Data Flow

All notes are stored on your file system at ~/Moss/Notes/. Each note is a directory with a Markdown file for note content, an assets/ folder for any images in the note, and a meta.json that contains editor state and a history of agent actions. No user accounts, no server-side storage, no database. Works fully offline.

Your Device

File System

  • ~/Moss directory
  • Markdown files
read/write↔

Moss App

  • Note editor & UI
  • Sandboxed to ~/Moss
  • No network without user action
invokes→

Claude Code CLI

Powers Moss agent

Everything above stays on your device

via Moss App
↓anonymous

PostHog

  • Anonymous device ID
  • Event names only
  • No content, no PII
Privacy policy →
via Moss App
↕on launch

mossnotes.app

  • Update feed & changelog
  • App version & platform
  • Static hosting, no user data
via Claude Code CLI
↕API calls

Anthropic

  • TLS 1.2+
  • Prompts & referenced content (opt-in)
  • Web research (proxied)
Data policy →

Network egress

These are all the external endpoints the app contacts. No other outbound connections are made.

DestinationPurposeWhen
AI features (uses Claude Code CLI)
api.anthropic.comAgent API requests (via Claude Code CLI)On user action
Telemetry
us.i.posthog.comAnonymous event countsBatched every 30s
App updates
mossnotes.appChangelogOn launch
update.mossnotes.appUpdate feed (signed binary)On launch

Moss has no user accounts, no sign-up, and no server-side identity. There is nothing linking your device to a profile, email address, or account on our end. We hold no user data, so there is no central store that could be compromised or disclosed. The only way your email reaches us is if you choose to include it in the optional in-app feedback form.

The app is built on Electron with the Claude Code SDK powering the AI agent (just a passthrough for the Claude Code CLI). No additional external services, advertising SDKs, or third-party scripts are loaded.

AI features are powered by the Claude Code CLI, which handles authentication and credential management independently. Moss delegates entirely to the CLI for everything to do with the agent and just handles how and when it is invoked.

AI Agent & Data Handling

The Moss agent is built directly on Anthropic's Claude Code SDK. There is no intermediary service, no Moss-operated backend, and no additional data processor — requests go straight from your device to Anthropic's API using your own Anthropic account. What Moss adds on top is the security boundary: workspace sandboxing, file-type restrictions, path validation, and SSRF protection that constrain what the agent can access on your machine. The underlying authentication, data flow, and security model are identical to running Claude Code locally — because that is what it is. If your organization has already approved Claude Code, Moss operates on the same infrastructure with the same data handling guarantees, while being slightly more restrictive, since Moss confines the agent to just working in ~/Moss/ with write access limited to Markdown files. Because there is no Moss-operated intermediary, AI data handling is governed entirely by your organization's existing relationship with Anthropic. Here is exactly how it works:

  • Opt-in only. The Moss agent only works if you are already logged into Claude Code locally. The conversational agent runs only when you invoke it. Moss may also invoke the CLI for lightweight housekeeping (e.g., suggesting tags). These touch only content already on your device and are subject to the same data handling policy.
  • What is sent. Your prompt, the active note's content, any notes or files you explicitly reference, a directory listing of note titles (titles and folder paths only, not content), and a system prompt that instructs the agent how to work with notes. During execution, the agent may read additional notes in the ~/Moss/ workspace and fetch public web pages for research.
  • What is never sent. Notes you don't reference, local app preferences, or telemetry data. There is no background sync. Data is only transmitted in direct response to your actions.
  • File tools. Read, Write, Edit, Glob, Grep, and sandboxed Bash, all restricted to the ~/Moss/ workspace. Write operations are further limited to Markdown files only. Path validation includes symlink resolution, null-byte rejection, and directory-traversal blocking (see Application Security).
  • Web tools. The agent can fetch public web pages and search the web for research, but all requests are proxied through Anthropic's servers, with no direct network calls from your machine to third-party sites. Requests to private or internal network addresses (localhost, 10.x, 192.168.x, .local) are blocked to prevent server-side request forgery. The agent can read web content but cannot post, upload, or transmit your data externally — the only outbound destination for your content is Anthropic's API.
  • Sub-agents. Complex tasks may spawn sub-agents. The “researcher” sub-agent has read-only access; the “writer” sub-agent can edit Markdown files. Both inherit the same workspace boundary restrictions.
  • No persistence. The agent has no memory between sessions. Each conversation starts fresh with only the context described above.
  • Anthropic's data policy. See Anthropic's Privacy Policy and Commercial Terms for details on data retention and training exclusions.

Telemetry & Analytics

Moss has no server infrastructure — no request logs, no error dashboards, and no backend to observe. Anonymous telemetry is the only mechanism available to detect crashes, identify regressions, and confirm the application works correctly across devices. It collects event counts and names only — never note content or personally identifiable information.

What we collect

  • Anonymous device ID: a random UUID generated on first launch and stored locally. Not linked to any account, name, or email
  • App version and platform (e.g., macOS arm64)
  • Event names only: “app launched,” “agent invoked,” “session ended.” Counts and names, never content

IP addresses

PostHog receives your device's IP address as part of standard HTTPS transport. Moss does not separately collect, store, or log IP addresses. PostHog's retention and IP handling is governed by their privacy policy.

Provider & implementation

PostHog (US-hosted). Telemetry is batched and flushed every 30 seconds. No third-party tracking scripts, advertising SDKs, or additional analytics providers.

See our Privacy Policy for full details. For additional questions about telemetry data handling, reach out to security@mossnotes.app.

Application Security

Process isolation

Moss is built on Electron with context isolation enabled. This means the user interface (the renderer) runs in a separate process from the system-level code and cannot directly access Node.js, the filesystem, or any Operating System APIs. The two sides communicate through a narrow, explicitly defined bridge (the “preload”) with typed message channels, so even if a vulnerability were introduced in the UI layer, it could not escalate to system access without passing through that controlled interface, which only accepts an explicit message format.

Agent sandboxing

The AI agent's file and shell operations are confined to the ~/Moss/ workspace directory. Write operations are further restricted to Markdown (.md) files. The agent cannot modify application metadata, configuration files, or anything outside the workspace. Web research tools (WebFetch, WebSearch) are proxied through Anthropic's servers with no direct connections to third-party sites. The agent also has sandboxed Bash access with its working directory locked to the workspace. Shell commands execute locally and are subject to the model's built-in safety constraints.

Path traversal & symlink protection

Before any file operation, paths are resolved to their real, absolute location on disk, following symlinks to their true destination. This prevents an attacker from using symbolic links or ../../ sequences to escape the workspace boundary. Paths containing null bytes (a classic injection technique) are also rejected outright.

SSRF prevention

Server-Side Request Forgery (SSRF) is an attack where a system is tricked into making network requests to internal services it shouldn't access. Moss blocks the AI agent from fetching any private or internal network address, including localhost, 10.x, 192.168.x, 172.16.x, link-local ranges, and .local domains, before the request ever leaves the application.

No runtime code loading

The application ships as a self-contained binary with no external code dependencies at runtime. There are no CDN dependencies, dynamically loaded scripts, or runtime code fetches. Updates are delivered as signed, notarized binaries through Electron's built-in updater (see Code signing below) — not as live code patches. This eliminates supply-chain attacks where a compromised external resource could inject malicious code into a running session.

Code signing & notarization

Every release is signed with an Apple Developer certificate and notarized by Apple, meaning Apple has scanned the binary for known malware before distribution. macOS verifies this signature before allowing the app to run, and Electron's built-in updater verifies the signature of each update before applying it. This ensures that the code running on your machine is exactly what was published and has not been tampered with in transit.

Encryption at rest

Notes are stored as plain Markdown files on your local filesystem. Moss does not add a proprietary encryption layer because your operating system already provides full-disk encryption — FileVault on macOS (XTS-AES-128). This means notes are protected by the same encryption that secures the rest of your device, managed by your organization's existing endpoint policies.

Credential storage

Authentication is handled by the Claude Code CLI, which stores credentials in macOS Keychain — the operating system's encrypted credential vault, the same store used by Safari, Mail, and other system applications. Credentials are written to the Keychain via the CLI's own secure storage path. Moss does not read, copy, or cache these credentials; the SDK subprocess accesses them directly through the CLI's credential store. Moss just knows whether you are logged into the Claude Code CLI.

Local session history

Each AI agent session records the user prompt, agent response text, tool call names and counts, model used, and start/end timestamps in the note's local meta.json file. This data remains on your device and is never transmitted externally. If your organization has additional auditing requirements, contact security@mossnotes.app.

Authentication flow

AI features require authenticating through the Claude Code CLI (claude), which handles the full OAuth flow (Authorization Code with PKCE) and credential lifecycle. PKCE (Proof Key for Code Exchange) prevents authorization code interception by binding each login attempt to a cryptographic challenge (SHA-256). Moss checks for valid CLI credentials at startup and surfaces the status in Settings, but does not participate in the authentication exchange itself — there is no login flow, token refresh logic, or credential management code in the Moss application.

Regulatory Alignment

Moss does not hold compliance certifications because there is no cloud service to certify. Instead, the local-first architecture provides structural alignment with common regulatory frameworks. For organizations subject to financial regulation, the key advantage is that note data never enters a third-party cloud environment. It stays on infrastructure you already control.

Data residency

All notes reside on your device in the jurisdiction of your choosing. No cross-border data transfer occurs for stored notes. When the AI agent is used, prompts and referenced note content are transmitted to Anthropic's US-based API. Organizations with strict data residency requirements should evaluate this against their policies. See Anthropic's Privacy Policy for API data handling details.

Data sovereignty

You retain full ownership and control of all note data. Notes are standard Markdown files on your filesystem. No proprietary format, no vendor lock-in, no export process needed. If you stop using Moss, your files remain exactly where they are, readable by any text editor.

GDPR (EU General Data Protection Regulation)

GDPR governs the collection and processing of personal data for EU residents. Moss collects only pseudonymous telemetry (a random device UUID and event names) with no mechanism to link it to an identified individual. No note content, user names, email addresses, or other directly identifying information is collected. AI usage is opt-in. The absence of user accounts means there is no personal data profile to manage or breach, and access requests can be fulfilled by uninstalling the app (which removes the local device ID).

CCPA (California Consumer Privacy Act)

CCPA gives California residents the right to know what personal information is collected and to request its deletion. Moss does not collect personal information as defined by CCPA. Telemetry uses an anonymous device ID with no way to link it to a named individual. No data is sold or shared with third parties for advertising.

NYDFS Cybersecurity Regulation (23 NYCRR 500)

New York's financial cybersecurity regulation requires covered entities to assess and manage third-party service provider risk. Because Moss stores data locally rather than in a vendor-managed cloud, it reduces the scope of third-party risk assessments for stored data. The AI agent is the only external dependency. Its data handling is governed by Anthropic's Privacy Policy and can be evaluated independently. AI features are opt-in and can remain disabled.

DORA (EU Digital Operational Resilience Act)

DORA requires financial entities to manage ICT third-party risk, including concentration risk from critical cloud providers. Moss's local-first architecture means your notes are available even if every external service goes offline. The only third-party ICT dependency is Anthropic's API for optional AI features, a clearly bounded, non-critical dependency that does not affect core note-taking functionality.

Right to deletion

Delete a note by deleting its directory from your filesystem. There are no Moss-side server copies, no recycle bins in a vendor cloud, and no retention policies to navigate. If the AI agent was used, prompts and referenced content were transmitted to Anthropic's API; Anthropic's data retention policies govern that data (see their Privacy Policy). Telemetry data is pseudonymous and cannot be linked back to an individual user.

Frequently Asked Questions

Does Moss store data on its servers?

No. Moss has no servers that handle customer data. The website is a static site.

Can the Moss team access my notes?

No. The Moss team never has access to your notes. They exist only on your device.

What happens when the AI agent is used?

The active note's content, any referenced notes, and a workspace directory listing are sent to Anthropic's API over TLS. During execution, the agent may read other notes in the workspace and fetch public web pages, all routed through Anthropic. See Anthropic's Privacy Policy for how API data is handled.

Is there an on-premise option?

Moss is already on-premise by default. It runs entirely on your machine.

Can telemetry be disabled?

Telemetry cannot currently be disabled. Because Moss has no server infrastructure, anonymous event telemetry is the only way to detect crashes and regressions across devices. The data collected is limited to an anonymous device UUID, event names, and app version — no note content, file paths, user names, or other PII. All telemetry traffic goes to a single endpoint (us.i.posthog.com) that your network team can inspect or block at the firewall level.

Does Moss have SOC 2?

Moss has no cloud infrastructure — there is no centralized data store and no cloud service to certify. Note data stays on your device, governed by your organization's existing endpoint controls (MDM, DLP, disk encryption). For AI usage, Anthropic maintains its own compliance certifications including SOC 2 Type II. See their Trust Center.

Responsible Disclosure

If you discover a security vulnerability, please report it to security@mossnotes.app. We will acknowledge receipt within 48 hours and work to address the issue promptly. If we discover a vulnerability that may have affected users, we will publish a security advisory on our website within 72 hours of confirmation and, where applicable, deliver a patched update through the app's built-in update mechanism.

Contact

Enterprise security inquiries

We are happy to complete security questionnaires (SIG, CAIQ) and discuss your organization's requirements.

security@mossnotes.app

Privacy PolicyTerms of Use