PromptOps — Privacy Policy
Document type: Information notice under Articles 13 and 14 of Regulation (EU) 2016/679 (GDPR) Version: 2.0 (draft — supersedes all previously published privacy notices for PromptOps) Effective date: 2 August 2026 Status: in force
⚠️ Consolidation warning. At the date of this draft, at least four divergent privacy notices exist for PromptOps:
PRIVACY_POLICY.mdin the repository root,manager.promptops.it/legal-docs-privacy-policy.html, the version seeded in thelegal_documentsdatabase table, and the notice published onshellonback.com/privacy. Divergent published notices are themselves a compliance risk. This document is intended to replace all of them. See IMPLEMENTATION-PLAN.md.
Table of contents
- Summary
- Who is the controller
- Scope
- How PromptOps works, and why that matters for your privacy
- Data that stays only on your device
- Processing activities
- Data we do not collect
- Recipients and sub-processors
- International transfers
- Retention
- Your rights
- How to exercise your rights
- Security
- Cookies and similar technologies
- Children
- Automated decision-making
- Changes to this policy
- Contact and complaints
- Version history
1. Summary
This is a plain summary. The binding detail is in sections 5 to 10.
- Your source code is not uploaded to us. Code embeddings for project context are computed on your own device.
- A lot of what you do stays local. Terminal output, your project context index, and your AI provider credentials are stored on your device and are not sent to us.
- Some prompt content does reach our servers. Specifically: entries you save in the Prompt Library (that is the point of the feature), and — currently — the prompt text of active sub-agents, which is stored as part of session state. We explain this openly in section 6.3 rather than claiming otherwise.
- When you use an AI provider, your prompts go to that provider, not to us. PromptOps runs the provider's own tool on your machine, using your own account. What that provider does with your data is governed by that provider's terms.
- We measure how much you use the product, per user: prompt counts, hours, presence, tokens. This is not anonymous.
- We do not use your content to train AI models, do not sell it, and do not use it for advertising.
- Your account data is stored in the European Union (AWS, Milan region). Some service providers are outside the EU.
2. Who is the controller
SHELLONBACK SRL is the data controller.
Registered office: Via Stupinigi 29, 10092 Beinasco (TO), Italy VAT number, tax code and Company Register (Registro Imprese) number: 13331060015 Registro Imprese di Torino no. 13331060015 | REA no. TO-1355500 | Share capital EUR 10,000 Email for privacy matters: luca.mangiacotti@shellonback.com PEC: shellonback@pec.it
Data Protection Officer: not appointed. None of the three cases in Art. 37(1) GDPR applies: we are not a public authority; our core activities do not consist of regular and systematic monitoring of data subjects on a large scale; and we do not process special categories of data on a large scale. This assessment is recorded in our records of processing and is revisited whenever the nature or scale of processing changes. Data protection enquiries reach us at the address below.
3. Scope
This policy covers personal data processed in connection with:
- the PromptOps desktop application;
- the web application at manager.promptops.it;
- the mobile remote application and relay service;
- the backend services and APIs;
- the website promptops.it.
It does not cover the processing carried out by third parties you choose to use through PromptOps, such as AI providers. Those are governed by their own privacy notices — see section 4.3.
4. How PromptOps works, and why that matters for your privacy
4.1 PromptOps is an orchestrator
PromptOps runs AI coding tools that are installed on your machine, in terminal processes it controls. When you send a prompt, PromptOps writes it into the tool's terminal. The tool then contacts its own vendor's servers, using your account or API key.
The practical consequence: for ordinary AI use, your prompt does not pass through our servers. It goes from your machine to the provider you chose.
4.2 What we can and cannot see
We can see what our own applications send to our own backend: your account, your session and workspace structure, your prompt library, your usage metrics, and the specific items listed in section 6.
We cannot see the content of your terminals, your files, or the conversations you have with an AI provider, except in the specific cases described in section 6.3 and 6.9.
4.3 The provider relationship is yours
When you use OpenAI/Codex, Anthropic/Claude Code, Google Gemini, GitHub Copilot, xAI or any other provider through PromptOps, that provider processes your prompts and any file content you include as an independent controller, under its own terms and privacy notice. We do not control whether it retains your data or uses it for training. See AI-AND-THIRD-PARTY-PROVIDERS.md.
5. Data that stays only on your device
The following is stored locally on your computer and is not transmitted to Shellonback:
| Data | Where | Protection |
|---|---|---|
| Terminal output buffers — the recent contents of each terminal, including AI responses, commands and anything else displayed on screen (up to about 256 KB per terminal) | Application data folder, terminal-buffers/ | Encrypted at rest using the operating system's secure storage facility (Electron safeStorage). If that facility is unavailable on your system, the file is written unencrypted. |
| Project context and knowledge index — the local index PromptOps builds of your project | .promptops/ folder inside your project (git-ignored) | Not encrypted; on your device only |
| Code embeddings — numerical representations of your code used for local search | Your device | Computed on-device; the code is not uploaded to compute them |
| Local session store | Application data folder | Not encrypted |
| SSH credentials you configure | Application data folder | Encrypted (AES-256-GCM plus operating system secure storage) |
| Your authentication token | Application data folder | Encrypted using operating system secure storage, with an unencrypted fallback if unavailable |
| AI provider API keys and credentials | Either in the provider CLI's own configuration folder, or in PromptOps' local configuration | See the note below |
API keys — current state. SSH secrets and the authentication token are encrypted at rest. Two configuration files — the FCC provider configuration and the voice configuration — currently store API keys unencrypted on disk (the voice configuration file has restrictive file permissions). We state this plainly rather than overstating our protections. We are moving them to the same encrypted storage already used for SSH credentials and the authentication token.
Because this data is on your device, your own device security (disk encryption, screen lock, malware protection) determines its protection. Deleting your account does not delete it: you control it.
6. Processing activities
For each activity: what data, why, on what legal basis, whether it is required, where it comes from, who receives it, and how long it is kept.
6.1 Account registration and authentication
| Data | First name, last name, email address, username, password (stored only as a bcrypt hash), and optionally: biography, avatar image, location, website, GitHub username, nationality. If you use social login: the identity provider's name and your identifier with that provider, plus the profile fields it returns (typically name and email). |
| Purpose | Creating and managing your account; authenticating you; letting you recover access. |
| Legal basis | Performance of a contract (Art. 6(1)(b) GDPR). |
| Required? | Email, name and password (or a social identity) are required to have an account. Profile fields are optional. |
| Source | You; or, for social login, the identity provider you chose. |
| Recipients | Our hosting provider (AWS, EU); the identity provider, for social login. |
| Retention | Until you delete your account — see section 10. |
6.2 Consent and acceptance records
| Data | The type of document accepted, its version, whether it was accepted, the date and time, your IP address and your browser/application user agent. |
| Purpose | Demonstrating that you accepted the Terms, the EULA and the Privacy Policy, and recording optional consents (marketing, product updates). |
| Legal basis | Legal obligation and accountability (Art. 6(1)(c) and Art. 5(2) GDPR); legitimate interest in evidencing contractual acceptance (Art. 6(1)(f)). |
| Required? | Yes — the record is generated automatically when you accept. |
| Recipients | Hosting provider (AWS, EU). |
| Retention | 10 years after account deletion. The period matches the ordinary limitation period under Italian law (art. 2946 Civil Code): consent records exist to prove compliance, and they need to outlast the window in which that proof could be required. |
6.3 Sessions, workspaces and sub-agents (cloud synchronisation)
This is the section that deserves your attention.
| Data | Session names; workspace paths (encrypted at rest in the sessions table); project paths (currently not encrypted in the workspaces table); device-workspace associations (encrypted); the structure of your sub-agents, including their role, title and status. **And: the prompt text of active sub-agents.** |
| Purpose | Restoring your sessions across devices and after restart; showing your workspace structure; making the mobile remote feature work. |
| Legal basis | Performance of a contract (Art. 6(1)(b)). |
| Required? | Yes, for the desktop application. Session and workspace structure is synchronised so that your work can be restored; there is currently no way to use the application with synchronisation switched off. |
| Recipients | Hosting provider (AWS, EU). |
| Retention | While the session or workspace exists. Archived sub-agent data: about 30 days. |
Important detail, stated openly.
- The prompt text of sub-agents that are archived is removed — both by the desktop application before sending, and by the server before storing.
- The prompt text of sub-agents that are active is currently transmitted and stored as part of session state, in plain text.
- This is inconsistent with our intended design, and we are treating it as an item to correct.
We are working to remove this: the intended behaviour is that no runtime prompt text is stored on our servers, and the archived case already works that way. Until the active case matches, this section describes what actually happens rather than what we intend.
6.4 Prompt Library
| Data | The full text of the prompts you save: body, system prompt, notes, variables, sub-agent prompt definitions. |
| Purpose | Storing, organising, versioning and reusing your prompts across devices — this is the purpose of the feature. |
| Legal basis | Performance of a contract (Art. 6(1)(b)). |
| Required? | Optional: only what you choose to save is stored. |
| Storage | Stored in plain text in our database, so that search and sharing work. If you would not put something in a shared document, do not put it in a saved prompt. |
| Recipients | Hosting provider (AWS, EU). |
| Retention | Until you delete the prompt or your account. |
If you put sensitive information into a saved prompt, that information is stored on our servers. Please don't put credentials in prompts.
6.5 Device registration
| Data | A device identifier derived from hardware characteristics (a SHA-256 hash), the device name, operating system information, and the application version. Transmitted with requests as a device header. |
| Purpose | Associating sessions with devices; managing licences and device limits; enforcing minimum supported application versions; security (recognising unexpected devices). |
| Legal basis | Performance of a contract (Art. 6(1)(b)); legitimate interest in security and licence enforcement (Art. 6(1)(f)). |
| Required? | Yes, for the desktop application. |
| Retention | While the device is associated with your account. |
6.6 Product usage metrics
| Data | Number of prompts sent per day; hours of use, with session and source; daily presence; token statistics per session; ranking position if you take part in the ranking feature; the platform and tool in use. |
| Purpose | Making the product's own usage statistics and ranking features work; understanding how the product is used in order to improve it; detecting abuse. |
| Legal basis | Performance of a contract for the statistics displayed back to you (Art. 6(1)(b)); legitimate interest for product improvement and abuse prevention (Art. 6(1)(f)); consent for participation in the public ranking, which is opt-in. |
| Required? | The metrics that power features you use are part of those features. For the portion we process on the basis of legitimate interest — product improvement — an opt-out is being added. Until it ships, you can ask us to exclude you by writing to the address in section 18, and we will do it manually. |
| Recipients | Hosting provider (AWS, EU). |
These metrics are individual and linked to your account. They are not anonymous. Where we publish aggregate figures (for example a public ranking you opted into), those are derived from individual records that continue to exist.
Posizione adottata: vedi LEGAL-POSITIONS.md L-6, che contiene la valutazione del legittimo interesse. Tre finalità, tre basi giuridiche distinte; l'opt-out è una delle garanzie su cui la ponderazione si regge.
6.7 Voice input (optional feature)
| Data | Audio recorded from your microphone, and its transcription. |
| Purpose | Converting speech to text so you can dictate prompts. |
| Legal basis | Consent (Art. 6(1)(a)) — the feature is used only when you activate it. |
| Required? | No. The feature is optional. |
| Recipients | The transcription provider configured for the feature — Groq, Google or OpenAI, or a proxy on our backend. These are outside the EU: see section 9. |
| Retention | The audio file is written to a temporary folder on your device and deleted after transcription. What the transcription provider retains is governed by that provider's own terms — we do not control it, and we would rather say so than guess. |
Your voice is personal data. If this matters to you, do not use the voice feature, or use a locally-running transcription option if one is available on your system.
6.8 Email: transactional and marketing
| Data | Email address, name; for newsletter subscriptions also IP address and user agent at the time of subscription. |
| Purpose | (a) Transactional: email verification, password reset, security alerts, service notices. (b) Marketing and product updates: newsletter, product news, the Morning digest. |
| Legal basis | (a) Performance of a contract (Art. 6(1)(b)) and legal obligation. (b) Consent (Art. 6(1)(a)), given separately and revocable at any time. |
| Required? | (a) Yes. (b) No — entirely optional. |
| Recipients | Email delivery provider (AWS SES; alternatives may be used). |
| Retention | Subscription records until you unsubscribe, plus a record of the opt-out to ensure we do not contact you again. |
Every marketing email contains a one-click unsubscribe link. You can also manage preferences in your account.
6.9 Mobile remote control
| Data | The input and output of the terminal you are controlling — which may include prompts, AI responses, commands and anything else displayed; connection metadata (IP address, user agent); pairing information. |
| Purpose | Letting you control a desktop session from your phone. |
| Legal basis | Performance of a contract (Art. 6(1)(b)) — the feature is opt-in and requires you to approve a pairing. |
| Required? | No. |
| Technical detail | The connection is protected in transit by TLS. It is not end-to-end encrypted: the relay service processes the data in transit. |
| Retention | Connection logs 90 days. Prompt content is not written to relay logs. |
6.10 Support and feedback
| Data | The content of your message, your account details, and any technical information you choose to include. |
| Purpose | Answering you and resolving the issue. |
| Legal basis | Performance of a contract (Art. 6(1)(b)); legitimate interest in improving the product (Art. 6(1)(f)). |
| Retention | 24 months from closure of the request |
6.11 Security, audit and abuse prevention
| Data | IP addresses, user agents, timestamps, actions performed, and — for administrative actions — the previous and new values of changed fields. Application and server logs. |
| Purpose | Protecting accounts and the service; investigating incidents; detecting and preventing abuse; establishing, exercising or defending legal claims. |
| Legal basis | Legitimate interest (Art. 6(1)(f)); legal obligation where applicable (Art. 6(1)(c)). |
| Recipients | Hosting provider; centralised logging providers (see section 8). |
| Retention | 12 months |
6.12 Website: analytics and measurement
| Data | A session identifier, pages visited, referrer, UTM campaign parameters, user agent, viewport size; and, where you consent, data collected by Google Tag Manager and Google Analytics 4. |
| Purpose | Understanding how the website is used and measuring campaigns. |
| Legal basis | Consent (Art. 6(1)(a)), collected through the cookie banner. Strictly necessary technical storage does not require consent. |
| Required? | No. Analytics and profiling categories are disabled until you accept them. |
| Recipients | Google (Tag Manager, Analytics 4); our own analytics endpoint. |
| Retention | 14 months in GA4; 14 months in our own analytics |
See section 14 and the Cookie Policy.
6.13 Billing (not yet active)
No payment processing takes place at the date of this policy: PromptOps is free and no payment provider is integrated. When paid plans are introduced, this section will describe the billing data processed, the payment provider, its role, and the retention required by tax law.
No payment processing takes place today: PromptOps is free and no payment provider is integrated. This section will describe the billing data, the provider and its role before any plan goes on sale.
7. Data we do not collect
To be precise about the negatives, each of these has been verified:
- We do not upload your source code to our servers for indexing or embedding. Embeddings are computed on your device.
- We do not receive your AI provider API keys. They stay on your device.
- We do not use third-party analytics SDKs in the application. There is no Sentry, PostHog, Mixpanel or Amplitude in the desktop application, the web application or the backend.
- We do not use your content to train AI models.
- We do not sell personal data.
- We do not use your content for advertising.
- We do not read your terminal output, except where you use the mobile remote feature (section 6.9), in which case the relay processes it in transit.
What we deliberately do not claim: we do not claim that "no prompt ever reaches our servers". Section 6.3 and 6.4 explain exactly which prompt data does.
8. Recipients and sub-processors
We use the following categories of provider. The current detailed register is maintained at ai-act-gdpr/compliance/sub-processors.md.
| Provider | Role | Location |
|---|---|---|
| Amazon Web Services | Hosting, database, object storage, content delivery | eu-south-1 (Milan, EU) for the main infrastructure |
| Amazon SES | Transactional email delivery | Configured for the EU region |
| Postmark / Resend | Alternative email delivery | United States |
| Groq | Voice transcription; AI text generation for internal features and the news pipeline | United States |
| OpenAI | Voice transcription fallback; certain AI helper features | United States |
| Anthropic | Certain AI helper features | United States |
| Social login; speech recognition; Tag Manager and Analytics on the website | United States | |
| Apple, GitHub, Facebook, LinkedIn | Social login | United States |
| Slack | Internal operational notifications | United States |
| Papertrail (SolarWinds) | Centralised application logging | United States |
| GitHub | Distribution of application updates | United States |
We are formalising data processing agreements with each of these providers under Art. 28 GDPR. Write to us for the current status of any specific one.
We also disclose data where required by law, to a competent authority, or where necessary to establish, exercise or defend legal claims.
9. International transfers
Your account data and the main application data are stored in the European Union (AWS, Milan region).
Some of the providers in section 8 are established outside the European Economic Area, principally in the United States. Transfers to them require a valid transfer mechanism under Chapter V GDPR — an adequacy decision, Standard Contractual Clauses, or another safeguard.
For providers established in the United States, we rely on the EU-US Data Privacy Framework where the provider holds an active certification, and on Standard Contractual Clauses together with a transfer impact assessment where it does not. We are in the process of documenting this provider by provider; until that work is complete, we prefer to state it plainly rather than imply a level of formalisation we have not yet reached. You can ask us for the current position on any specific provider.
Posizione adottata: vedi LEGAL-POSITIONS.md L-7. Adeguatezza EU-US DPF dove il fornitore è certificato e attivo, SCC più TIA altrove. ⚠️ Richiede verifica materiale fornitore per fornitore, non ancora eseguita.
You may request a copy of the safeguards in place by writing to us.
10. Retention
| Data | Retention |
|---|---|
| Account data | Until account deletion |
| Sessions and workspaces | While they exist; archived sub-agent data about 30 days |
| Prompt Library | Until you delete the entry or your account |
| Usage metrics | 24 months, then deleted or aggregated beyond re-identification |
| Audit and security logs | 12 months |
| Consent records | 10 years after account deletion |
| Newsletter subscription | Until unsubscribe, plus a suppression record |
| Support correspondence | 24 months from closure of the request |
| Relay connection logs | 90 days |
| Backups | 30 days rotation. A deletion request is applied to live systems immediately and works through backups within this window. |
| Accounting records (when billing starts) | 10 years, as required by Italian law (art. 2220 Civil Code) |
On account deletion, we delete or irreversibly anonymise the personal data associated with your account, including your prompts, sessions and metrics. We retain: consent records, audit and security logs, and anything we must keep by law or to defend legal claims. Data on your own device is not affected.
11. Your rights
Under the GDPR you have the right to:
- Access (Art. 15) — obtain confirmation of whether we process your data, and a copy of it;
- Rectification (Art. 16) — correct inaccurate or incomplete data;
- Erasure (Art. 17) — have your data deleted, in the cases provided by law;
- Restriction (Art. 18) — have processing limited, in the cases provided by law;
- Portability (Art. 20) — receive the data you provided, in a structured, commonly used, machine-readable format, and have it transmitted to another controller where technically feasible;
- Object (Art. 21) — object at any time to processing based on legitimate interest, on grounds relating to your particular situation, and object at any time and without justification to processing for direct marketing;
- Withdraw consent (Art. 7(3)) — at any time, without affecting the lawfulness of processing carried out before withdrawal;
- Lodge a complaint with a supervisory authority (Art. 77) — see section 18.
12. How to exercise your rights
In the application. Your account contains privacy functions that let you:
- export your data;
- request deletion of your account;
- view the history of your consents;
- manage your email preferences.
By writing to us at luca.mangiacotti@shellonback.com. We will respond within one month of receipt, extendable by two further months for complex requests, in which case we will tell you within the first month (Art. 12(3) GDPR).
Note on the export function. The export currently returns the personal data we hold about you but excludes the body text of your saved prompts, a choice made to minimise the amount of content moved around. If you want your prompt content, ask us and we will provide it. > Posizione adottata: vedi LEGAL-POSITIONS.md L-15. I prompt sono forniti dall'interessato e vanno inclusi nell'export: la minimizzazione governa la raccolta, non l'accesso dell'interessato ai propri dati. Implementazione da fare.
We may need to verify your identity before acting on a request.
13. Security
We apply technical and organisational measures appropriate to the risk, including:
- passwords stored only as bcrypt hashes (cost factor 12);
- API access secured with tokens;
- encryption in transit (TLS) for all connections to our services;
- encryption at rest for workspace paths in session records, for SSH credentials, for the authentication token on the desktop, and for terminal output buffers on the desktop, using the operating system's secure storage;
- systematic scoping of database queries to the owning user, to prevent access to other users' records;
- audit logging of administrative actions;
- storage of the primary infrastructure in the European Union.
Known gaps that we state rather than conceal, and that are being addressed:
- two local configuration files store API keys unencrypted (section 5);
- one workspace table stores the project path unencrypted, while equivalent fields elsewhere are encrypted;
- the mobile remote relay is protected by TLS in transit but is not end-to-end encrypted.
Data breach. In the event of a personal data breach we will notify the supervisory authority within 72 hours where required by Art. 33 GDPR, and will inform affected users where Art. 34 requires it. Our internal detection and notification procedure is documented and operational.
14. Cookies and similar technologies
The website promptops.it uses cookies and similar technologies. A banner lets you choose between technical, functional, analytics and profiling categories. Non-essential categories are disabled by default and are activated only after you accept them; Google Consent Mode is initialised with all non-essential consent signals denied.
The applications use local storage on your device for technical purposes — keeping you signed in, storing your preferences, and caching data for offline use. These are not tracking technologies.
Full detail, with each item listed by name, purpose and duration: Cookie Policy.
This approach follows art. 122 of the Italian Privacy Code and the Garante's cookie guidelines of 10 June 2021: no non-essential storage before consent, granular categories, and withdrawal as easy as consent.
15. Children
PromptOps is not intended for children. The minimum age to hold an account is 16, matching the age of digital consent under Italian law.
We do not knowingly collect data from anyone below that age. If you believe a child has provided us with personal data, contact us and we will delete it.
16. Automated decision-making
We do not make decisions producing legal effects concerning you, or similarly significantly affecting you, based solely on automated processing within the meaning of Art. 22 GDPR.
Automated processes exist for anti-abuse purposes (for example rate limiting, and throttling of prompt counting to prevent artificial inflation of ranking). These may restrict a function temporarily. If such a measure affects you and you disagree with it, contact us and a person will review it.
Posizione adottata: vedi LEGAL-POSITIONS.md L-17. Verificato nel codice: la sospensione è impostata solo manualmente, quindi l'art. 22 non si applica. Le garanzie sono comunque offerte, perché la conclusione dipende da un assetto tecnico che potrebbe cambiare.
17. Changes to this policy
We may update this policy. The version number and effective date at the top always identify the current version.
For material changes we will notify you in advance through the application, by email, or both, and — where the change concerns processing that requires your acceptance — we will ask you to review the new version before continuing to use the service. Previous versions remain available.
18. Contact and complaints
Controller: SHELLONBACK SRL Privacy contact: luca.mangiacotti@shellonback.com Postal address: Via Stupinigi 29, 10092 Beinasco (TO), Italy PEC: shellonback@pec.it DPO: not appointed — see section 2 for the assessment.
Right to complain. If you believe our processing infringes data protection law, you may lodge a complaint with the Italian supervisory authority:
Garante per la protezione dei dati personali Piazza Venezia 11, 00187 Roma, Italy www.garanteprivacy.it
You may also complain to the supervisory authority of your habitual residence or place of work, or bring proceedings before the courts.
19. Version history
| Version | Date | Status | Changes |
|---|---|---|---|
| 1.0 | 2026-03-28 | Superseded (in the database) | Initial version |
| 2.0 | 2 August 2026 | Draft — pending legal review | Full rewrite based on verified code behaviour. Adds: local-only data table, honest disclosure of active sub-agent prompt storage, per-activity legal bases, sub-processor list, transfer section, disclosure of known security gaps. Intended to replace all previously published notices. |
This document was drafted in-house by Shellonback and has not been reviewed by external legal counsel. We publish it because we think it is accurate and useful, not because a lawyer has signed it off. If you spot something that looks wrong, write to us — we would rather fix it than defend it.