Privacy Policy of Pragma
Last updated: 2026-09-02 - Version: 2.1
Privacy Policy Pragma Symphony Version 2.1 — September 2026 This policy applies to the Pragma Symphony desktop application only.
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 and transmits no session content to our servers; the only data that reaches our servers is a one-time, anonymous install confirmation, described in section 6-bis. 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. The only Pragma feature that can send session data outside the application is the optional Lexis integration, which is disabled by default and described in section 6. Pragma itself does not require an account or registration.
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, except to the Lexis endpoint you configure if you explicitly enable the Lexis integration (section 6).
4. What Data We Do Not Collect
Regardless of how you configure Pragma, no session content ever reaches our servers. Specifically: No session content, agent output, or file paths are sent to our servers or any third-party server operated by us No browsing or usage history is recorded or transmitted No analytics, telemetry, or crash reporting data is collected, other than the one-time install confirmation described in section 6-bis No recurring usage metrics or in-app event tracking No cookies or device fingerprinting; the only identifier is a random local UUID generated for the install confirmation (section 6-bis), and only its hash leaves your device 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) The only optional branch that leaves this flow is the Lexis integration described in section 6 — and only if you enable it. The install confirmation in section 6-bis is a separate signal and contains no session data.
6. Lexis — Optional Project Memory
Pragma Symphony can connect to Lexis, a project-memory service, to enrich your sessions with historical context (past decisions, recurring patterns, hot files, open questions) and to update that memory when a session ends. This integration is disabled by default. When you enable it in the settings, Pragma communicates with the Lexis endpoint URL you configure — by default a local address on your own machine (localhost). If Lexis is enabled: At the start of a session, Pragma queries the configured endpoint and injects the returned project context into the session When a session ends, Pragma sends the session's typed atoms — which may include file paths, code diffs, error messages, plan proposals, and your replies — to the configured endpoint, together with the project identifier and session timestamps You choose and control the endpoint. If you point Lexis at a service on your own machine or infrastructure, the data remains under your control; if you point it at a remote service, you are responsible for that service's data handling. We do not operate a Lexis server for you and receive none of this data. If Lexis is disabled (the default), none of the above occurs and no session data leaves the application.
6-bis. Install Confirmation (one-time)
On the first successful launch after installation, Pragma Symphony sends our server (noema.tools) a one-time confirmation that the application actually ran. This distinguishes genuine installations from the download counter, which also counts automated bot requests to the file URL. Only the following are transmitted: the product name ("pragma"), the operating system, the application version, and the SHA-256 hash of an install identifier. That identifier is a random UUID generated locally on first launch and stored in settings — it is not derived from your hardware, it is not a Machine ID, and it is not linked to your identity; the plaintext UUID never leaves your device. As with any HTTP request, our server also sees your IP address and User-Agent, which are stored alongside the confirmation record. The call is best-effort: if the network or server is unavailable it does not block startup and is retried on the next launch until it succeeds; once recorded it is never repeated. It is not sent in development builds. No other data and no subsequent events are collected. Legal basis: Article 6(1)(f) GDPR — legitimate interest in measuring genuine software adoption. Retention: the install-confirmation data (identifier hash, operating system, version, IP address, User-Agent, date) is retained for 24 months, then deleted, unless you request earlier erasure at privacy@lightweb.it. As this relies on legitimate interest, you have the right to object under Article 21 GDPR.
7. 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
8. Licensing
Pragma Symphony is proprietary software and its source code is not published. Earlier versions of Pragma were released under the MIT License and copies lawfully obtained under that license remain governed by it. The Pragma Symphony License is available at noema.tools/pragma/license and in the application's About section.
9. Future Cloud Features
Beyond the optional Lexis integration, Pragma operates entirely locally. Future versions may include additional optional cloud-connected features — for example, integration with Morphē for architectural context, a hosted Lexis service, or session synchronization across devices. These features will be optional, clearly disclosed, and subject to a separate or updated privacy policy at the time of their introduction. This policy will be updated before any such features are released.
10. 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. The HTTP client used for the optional Lexis integration communicates only with the endpoint you configure, and only if Lexis is enabled.
11. GDPR
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. If you enable the optional Lexis integration, session data is sent to the endpoint you configure: for that processing, you (or the operator of the endpoint you choose) act as data controller, and we receive none of that data. You retain full control over all locally stored data and may delete it at any time by removing the application's data directory. For the one-time install confirmation alone (section 6-bis) we act as data controller solely in respect of that single event; the data involved is described in that section. 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. Notwithstanding the above, 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.
12. 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/privacy.
13. Contact
For any privacy-related questions: Paolo Tanzi — privacy@lightweb.it Partita IVA IT 02611230349 Pragma Symphony Privacy Policy v2.1