Skip to main content
Local-First Architecture Privacy

Local-First Philosophy: Why Your Code Never Leaves Your Machine

Land's local-first architecture keeps all data on your device by default.

CodeEditorLand 7 min read

Local-First Philosophy: Why Your Code Never Leaves Your Machine

Code Editor Land is built on a local-first principle: every file, setting, extension, and snippet lives on your machine by default. The cloud is opt-in, never opt-out.

The Problem with Cloud-First Editors

VS Code’s ecosystem increasingly assumes cloud connectivity. Settings Sync requires a GitHub or Microsoft account. Remote Development tunnels your workspace through Microsoft servers. Copilot streams code to external APIs. Each feature trades convenience for control.

For developers working under NDAs, in air-gapped environments, or simply exercising their right to privacy, this trade-off is unacceptable. A code editor should function at full capacity with zero network access.

How Land Stays Local

Settings and State

Land stores all configuration in a local JSON file hierarchy under ~/.land/settings/. There is no cloud sync enabled by default. Your keybindings, themes, and workspace state never leave the machine unless you explicitly configure synchronization.

Extensions

Extensions are installed to ~/.land/extensions/ (or the existing ~/.vscode/extensions/ directory for compatibility). The extension marketplace can be self-hosted. Land does not phone home to verify extension licenses or collect telemetry on extension usage.

Telemetry

Land ships with telemetry disabled by default. When the user opts in, data flows to a self-hosted PostHog instance operated by the CodeEditorLand Foundation. No data is shared with third parties.

Air Daemon: Sync When You Want It

The Air element provides optional peer-to-peer synchronization through the Air Daemon. Air uses WebSocket discovery on the local network to find other Land instances. When two machines connect:

  1. Delta sync - only changed files transfer, using content-addressed hashing.
  2. Conflict resolution - last-write-wins by default, with a merge UI for manual resolution.
  3. Encryption - all sync traffic is encrypted with NaCl (libsodium) box/secretbox. Keys stay on your devices.

Air never routes through a central server. If you want cloud backup, you point Air at your own S3-compatible bucket or WebDAV endpoint.

No Cloud Lock-In

Because Land is CC0 1.0 Universal (public domain), there is no vendor lock-in at any level:

  • Source code - fork and modify without restriction.
  • Data format - standard JSON, SQLite, and plain-text files.
  • Extensions - compatible with the VS Code extension API.
  • Sync protocol - documented and self-hostable.

You can switch away from Land tomorrow and take everything with you. That is the point.

Comparison

ConcernVS CodeLand
Settings storageCloud Sync (Microsoft)Local files
TelemetryOpt-outOpt-in
Sync protocolProprietaryOpen (Air Daemon)
Extension sourceMicrosoft MarketplaceSelf-hostable marketplace
LicenseMIT (source), proprietary (binary)CC0 1.0 Universal

Local-first is not a feature. It is the foundation everything else is built on.