WrengleWrengle
How Wrengle works

How Wrengle works

Beta

Your notes are files in a folder you choose. Wrengle opens that folder, reads the files, and writes them back as you work. Opening, searching, and editing notes work offline. Sync and cloud features have the separate boundaries below. Interactive HTML file previews can also contact HTTPS services and send page data to them. They cannot read sibling files or other vault content, so pages must be self-contained or use HTTPS resources. See File previews.

That folder is your vault, and the notes in it are ordinary Markdown files. You can move the folder, copy it, back it up, or open the same files in a different editor. Wrengle is not the only way to reach your own writing.

What is stored on your machine

  • Your notes, as Markdown files in your vault.
  • Chart documents, which are also files in your vault.
  • Meeting transcripts and the meeting notes built from them.
  • Local Whisper, Core ML, and embedding/search models you download.
  • The search index Wrengle builds from your notes.
  • Origin-bound localStorage and IndexedDB created by interactive HTML previews, held in system-webview app data outside the vault. This state is not synced or included in vault backups.
  • Your provider keys and connected-account tokens, held in the operating-system keychain — not in vault files, not in app settings, and not in any stored app state.

Wrengle also keeps working data of its own, in two places. Some of it sits inside your vault in an .app folder beside your notes: recent-edit recovery, per-note metadata, and temporary meeting recovery records. The rest sits in a private folder outside the vault. That includes the search index, which holds derived copies of your note text — so some of your writing does exist outside the vault folder, on the same machine. You can delete it, and Wrengle rebuilds it from your notes.

Back up the whole vault folder, not only the notes. The .app folder beside them holds recovery state that copying individual notes leaves behind. Those records can contain completed transcript text, so whatever you point at the vault folder — a backup drive, an external file-sync service — receives them too. See Your vault and backups.

Committed captions produce a read-only meeting preview immediately. A later refinement recomputes the same caption so corrected wording does not leave stale facts behind. After Stop, a UI reload can reattach while the active desktop process retains the meeting session. These previews are never written to recovery storage, another disk file, logs, or telemetry.

What crosses the network

Sync is optional and off by default. When you turn sync on for a vault from Settings → Account, that vault's notes, charts, whiteboards, whiteboard images, note frontmatter, and folder structure — including documents you do not have open — sync through Wrengle's sync service to your own computers. Validated edits are saved locally before upload, and incoming edits are saved locally. The server copies are encrypted in transit and at rest, but Wrengle can technically read them to operate the service. Attachments outside whiteboards do not sync. Turning sync off keeps your local files and does not delete existing server copies. See Sync across your computers.

Most network use is tied to a feature you start, and it carries only what that feature needs. First-launch model provisioning, update checks, and content-free desktop diagnostics are the automatic exceptions listed below. What plugins can reach explains the separate rules for plug-in actions and views.

You do thisWhat leaves your machineWho receives it
Use a cloud AI modelThe request text — your prompt plus the note context that command needsThe provider whose key you added, or Wrengle and then OpenAI for Wrengle AI
Use cloud dictationYour microphone audio, while voice input is activeThe speech provider you chose
Use cloud voice analysisThe current transcribed utterance; Voice Control command handling can also include the active note title and bounded folder and recent-note paths, while Light edit can include and atomically revise up to four recent dictated sentences from the same voice session, all captured within one exact target: the note, assistant draft, Plugin Builder prompt, or chart text field. While one in-progress phrase and its exact target remain active, Light edit may analyze provisional transcript snapshots that can later be superseded or cancelled, no more often than once every 1.5 seconds, and each request can use provider quota or billing, or Wrengle AI credits. Turning live preview off suppresses those during-speech calls; final cleanup still runs. Accepted corrections to earlier dictated sentences are one undoable change; the current unfinalized phrase remains grey ghost text until finalization. Light edit does not send that target's identity, microphone audio, or separately read or attach arbitrary typed text, the note body, or surrounding chart content; its payload is bounded to those dictated slots.The direct OpenAI or Anthropic provider Auto resolved, or Wrengle and then OpenAI for a selected Wrengle AI tier
Turn on cloud meeting transcriptionThe meeting audio, for one explicit final passThe speech provider you chose
Connect an app such as GmailThe exact request you approved — for a Gmail draft, the recipient, subject, and body you were shownThat service
Grant a plugin network accessWhatever that plugin action sendsOnly the hosts its manifest declared and you granted
Download a speech or search modelThe download requestThe pinned model host
Turn on sync for a vaultThat vault's notes, charts, whiteboards, whiteboard images, note frontmatter, and folder structure, including documents you do not have openWrengle's sync service
Sign in to a Wrengle accountYour sign-in detailsWrengle's account service and, if selected, Google

An account is optional; signing in alone does not upload your vault. You can download Wrengle and use it signed out. Beta account sign-up and sign-in are available through email or Google, and signing in adds identity across the website and the desktop status bar. Deleting your account removes your profile and synced documents from Wrengle's servers. It does not change or delete local vault files. See Accounts and sign-in.

Three things can run without you starting them:

  • First-launch model provisioning. A clean install automatically contacts the pinned model host and downloads about 2.9 GB of verified local speech and search assets in the background. It can temporarily need about 4.1 GB of free disk plus working headroom. The workspace stays usable, progress remains visible, and a failure offers retry.
  • Update checks. Wrengle contacts the public downloads location to see whether a newer version exists.
  • Privacy-minimized usage data. This is on by default. It sends coarse event names and content-free details such as app version, operating system, closed action kinds, redacted error kinds, and meeting diagnostics. It never sends action IDs, note text, transcript text, audio, or prompts. Turn it off under Settings → Privacy & Data.

This website is separate from the app. Unless you object, basic cookieless analytics sends page views and leaves from reviewed public marketing, legal, and documentation routes. It sends canonical paths without query strings or fragments, referring origin, and coarse browser, operating-system, and device details through the managed t.wrengle.com proxy to PostHog EU. It sends no page content or interactions and leaves no PostHog identity in browser storage. The browser sends no session or window identifier. When the required Cookieless server hash mode is enabled, PostHog assigns cookieless visitors and sessions during ingestion.

Enhanced analytics stays off until you opt in. It adds native Web Analytics, Web Vitals, and strictly allowlisted structural interactions only on the same successfully rendered, reviewed public routes. Web Vitals retain metric name, value, delta, and rating. Hard-navigation metrics remain bound to the public route that loaded the document; SPA transitions cannot reattribute them, and a document loaded on an excluded route remains ineligible. Metrics generated by a back-forward-cache restore are rejected. Interactions retain event type, element tag, and bounded sibling positions. Text, attributes, classes, IDs, selectors, link destinations, and custom augmentation are removed. Authentication, account, callback, admin, API, error, and unknown routes remain excluded. URLs stay canonical, referrers are origin-only, and campaign identifiers are removed. Both lanes disable Beacon and use credentialless fetch. Person profiles, feature flags, heatmaps, dead-click capture, and session replay remain disabled. The project must enable Cookieless server hash mode, discard IP data, and retain analytics for no more than 12 months. Website diagnostics is a separate Sentry opt-in. Privacy choices in the footer changes any choice. Global Privacy Control, an affirmative Do Not Track signal, and Decline all keep every website telemetry lane off.

Local-first describes where your notes live, not where every feature runs. Generative AI is cloud-only and runs one of two ways. With your own key it goes straight to the configured OpenAI or Anthropic provider, whose logging, retention, and billing policies apply to everything you send it. With Wrengle AI it goes to Wrengle first, which forwards it to OpenAI and charges prepaid credits for it. Prompts and replies transit that route but are not retained in the account ledger or application logs; OpenAI's service handling still applies. AI and privacy explains what stays local, what each cloud workflow sends, and where assistant and speech Auto routing applies.

What plugins can reach

Plugins run as WASM in a sandbox and start with nothing. A plugin's manifest lists the capabilities it may ask for. That list is a request, not a grant. Wrengle does not hand over an API because the manifest names it; you grant or deny each capability yourself. A positive grant is bound to the exact loaded manifest, WASM, and view code captured at reload. Changing that code requires fresh approval even when the plug-in stays at the same path.

A plugin also cannot write to a note directly. When it wants to change one, it creates a proposal, and the editor shows you the change first. Nothing reaches your vault until you approve it.

Plug-in actions and views have different network paths. A WASM action can reach the network only through Wrengle, and only for hosts declared and granted for that exact code. Every plug-in view, including a hand-installed one, runs under Wrengle's mandatory offline policy: direct network requests, navigation, frames, forms, WebRTC, and external resources are blocked. The httpHosts capability applies only to host-mediated WASM calls and never relaxes a view's offline policy. Load only local plug-in code you trust; inline view code still runs inside its sandbox. See What plugins are.

External AI agents are a different boundary. An agent you launch, such as a coding assistant you run from the command line, is a program on your computer rather than a sandboxed plugin. Wrengle's own tools keep it scoped to your vault and route its writes through the same approval step. The process itself still holds the ordinary permissions of the command you launched, including outside your vault. See AI agents.

Where to go next

docs / how-wrengle-worksAll documentation