Privacy Policy of Pragma
Last updated: 2026-10-30 - Version: 3.0
Privacy Policy Pragma Symphony Version 3.0 — October 2026 This policy applies to the Pragma Symphony desktop application and to its optional web sharing page (noema.tools/pragma-symphony/live).
1. Overview
Pragma Symphony is a local-first desktop application that wraps Claude Code and visualizes its output as typed, navigable atoms. It runs on your device and communicates with Claude Code running locally on the same machine. Pragma does not operate as a cloud service. By default it transmits nothing to our servers or to any other server. The one exception is web sharing (section 7): an optional feature, off by default, that you turn on yourself to follow Pragma from a browser. While it is on, what Pragma shows passes through our server to reach that browser, and is not stored. Its parsing and local storage require no internet connection; however, the Claude Code process it wraps communicates with Anthropic's servers and requires internet connectivity — that communication is governed solely by Anthropic's terms and privacy policy. Pragma itself does not require an account or registration. Pragma Symphony is open source: you can read exactly what it does in the source code.
2. Data Controller
Paolo Tanzi — Partita IVA IT 02611230349 Contact: privacy@lightweb.it
3. What Pragma Does
Pragma reads the structured JSON stream emitted by Claude Code (via --output-format stream-json --verbose) and parses it in real time on your local machine. Every action performed by the agent is classified into typed atoms such as FILE_TOUCH, DIFF, TOOL_USE, ERROR, and AGENT_NOTE. All parsing, classification, storage, and rendering occurs locally. Pragma also stores session data in a local SQLite database on your device, organized into projects, so you can review past sessions. This data is stored on your machine and is not synchronized, uploaded, or transmitted anywhere.
4. What Data We Do Not Collect
Unless you turn on web sharing (section 7), no session content ever reaches our servers; even with web sharing on, we store none of it. Specifically: outside web sharing, no session content, agent output, or file paths are sent to our servers or to any other server operated by us; no browsing or usage history is recorded or transmitted; no analytics, telemetry or crash reporting data is collected; there is no recurring usage metric or in-app event tracking; there are no cookies or device fingerprints; and no account is required — no email address or personal data is ever requested.
5. Data Flow
The data flow of a Pragma session is local: Claude Code (local process) ↓ structured JSON stream (stdout) Pragma backend — Rust parser (local) ↓ typed atoms via Tauri IPC Pragma UI — Vue 3 (local) ↓ session storage SQLite database (local device only). Nothing in this flow leaves your device. When web sharing is on, what the Pragma interface shows also travels to the browser that opened the link, through our relay, as described in section 7.
6. No Install Tracking
Pragma Symphony 2.0 and later send no installation signal and contact no server at startup. Versions 1.x sent a one-time, anonymous install confirmation (product name, operating system, application version and the hash of a random install identifier, plus the IP address and User-Agent that any HTTP request exposes). That data is retained for 24 months from collection, then deleted, or earlier if you ask at privacy@lightweb.it; you have the right to object under Article 21 GDPR.
7. Web Sharing (optional)
Web sharing lets you follow the Pragma running on your PC from a web browser — for example your phone — at noema.tools/pragma-symphony/live, and, if you also allow it, give it commands. It is off by default and does nothing until you turn it on in Settings and press “share”. Pressing share creates a link that contains a random secret: anyone who has the link can see what Pragma shows while sharing is on, so keep it to yourself or to people you trust. The link stops working as soon as you stop sharing or close Pragma.
What passes. While sharing is on, the data needed to show Pragma in the browser travels from your PC to our relay server (noema.tools) and from there to the browser that opened the link: your projects and their titles, the lists and titles of your sessions, the content of the sessions you open (prompts, agent output, file paths and diffs as Pragma shows them, plans and reports), their live progress, your to-do lists and scheduled sessions, and interface preferences. It never includes the path of the Claude Code program, its configuration folders, the database location, your host secret, your PIN or its hash. The traffic is encrypted in transit (HTTPS and secure WebSocket). It is not end-to-end encrypted: the relay handles it in clear in order to route it.
Nothing is stored. The relay only passes data along: it keeps each message in memory just long enough to deliver it and never writes session content to disk or to a database, so there is nothing to recover on our side once a message has been delivered or sharing has stopped. The relay's own technical log records only the time, a short fingerprint of the shared room (not the link), the names of the requests (for example “load_session”) and whether they were accepted — never their content, the link or the PIN. As with any web request, our server also sees the IP address and User-Agent of your PC and of the browser; these are kept in the server access logs for at most 90 days, as stated in the noema.tools privacy policy.
Commands from the web. If you also turn on “Allow commands from the web” and set a PIN, the browser can start, approve, answer and stop sessions on your PC. The browser asks for the PIN, keeps it only in the memory of that page and sends it with each command; your PC stores only a salted hash of it. Commands run on your PC as if you had clicked in Pragma, with your own Claude Code account (section 8), in the working directories of projects you have already configured.
In the browser. The web sharing page sets no cookies of its own. It keeps the link's secret in the browser tab's session storage so that reloading the page works; closing the tab removes it. The PIN is not stored in the browser.
Legal basis and role. Article 6(1)(b) GDPR: the data passes through the relay only because you turn the feature on and ask for it to be delivered to the browser. For this transit we act as data controller. If the sessions you share contain personal data of other people (for example names in code or documents), make sure you share the link only with people entitled to see them.
8. Claude Code and Anthropic
Pragma wraps Claude Code, which is a separate product developed by Anthropic. When you use Claude Code through Pragma, your prompts and agent interactions are governed by Anthropic's own privacy policy and terms of service. Pragma has no visibility into the communication between Claude Code and Anthropic's servers. Pragma only reads the local output stream that Claude Code writes to stdout on your device. Anthropic's privacy policy is available at: anthropic.com/privacy Commands sent from the web through web sharing (section 7) start Claude Code on your PC in the same way, with your account.
9. Licensing
Pragma Symphony is open source software, released under the MIT License. The licence text is available at noema.tools/pragma-symphony/license and in the source repository at github.com/lightwebit/pragma-symphony. Earlier 1.x versions were distributed under a proprietary licence and remain governed by it.
10. Future Cloud Features
Apart from the optional web sharing described in section 7, Pragma operates entirely locally. If a future version adds optional cloud-connected features, they will be clearly disclosed and this policy will be updated before they are released.
11. Third-Party Libraries
Pragma is built on open-source components that run locally on your device, including: Tauri — desktop application framework (MIT/Apache 2.0). tauri.app Vue 3 — UI framework (MIT). vuejs.org rusqlite — SQLite bindings for Rust (MIT). github.com/rusqlite/rusqlite None of these components transmit data externally as part of Pragma's operation.
12. GDPR
Apart from the transit of shared content during web sharing (section 7), and the install-confirmation data collected by versions 1.x (section 6), Pragma does not process personal data on our behalf and we do not act as a data controller or data processor for the data generated during your sessions under the GDPR. All data generated during a Pragma session — including prompts, agent output, file paths, and session history — is stored on your local device in a SQLite database that Pragma never transmits to us. You retain full control over all locally stored data and may delete it at any time by removing the application's data directory. For web sharing (section 7) we act as data controller solely for the transit of the content you choose to share, which we do not store. If future versions introduce cloud features operated by us that involve personal data, a Data Processing Agreement and updated GDPR disclosures will be provided at that time. You have the right to lodge a complaint with the Italian supervisory authority (Garante per la protezione dei dati personali — www.garante.it) or with the supervisory authority of your country of residence within the EU.
13. Changes to This Policy
This policy may be updated if Pragma Symphony's functionality changes — in particular, if additional cloud features are introduced. The current version is always available at noema.tools/pragma-symphony/privacy.
14. Contact
For any privacy-related questions: Paolo Tanzi — privacy@lightweb.it Partita IVA IT 02611230349 Pragma Symphony Privacy Policy v3.0