Trust
Privacy & security
Where your prompt goes
| Surface | Where the engine runs | Prompt leaves your machine? |
|---|---|---|
Workspace (/app) | Your browser tab | No |
| Share links | Your browser tab | No. The prompt is compressed into the link's #fragment, which browsers never send to a server. Anyone with the link can read the prompt, so the workspace refuses to create a link when it detects secrets or personal data |
| CLI | Your machine | No |
| MCP server | Your machine (stdio) | No, but your MCP client may forward tool results to its model |
| VS Code extension | Inside VS Code | No, unless you choose Send to AI Chat |
| HTTP API | Cloudflare Workers | Yes, over TLS. It is processed in memory and never stored or logged |
What is stored
- Nothing you type is stored on a server. Accounts are optional and hold identity only: a keyed hash of your email address and session tokens. There is no endpoint that accepts prompts or activity.
- The Chrome and VS Code extensions can keep an activity history on your device, off until you turn it on and accept a notice. It records metadata (time, site, event type, sensitive-data categories and counts, action, quality scores); prompt text only if you separately turn on prompt history, with detected secrets replaced. It is never uploaded or synchronized, and you can pause it, exclude sites, export it, and delete it. Browser and editor storage is not encrypted by PromptFlowEngine.
- AI Insights articles are stored in a database. Opening one adds 1 to that article's view count, and using a share button adds 1 to its share count. Only the counts are stored: no IP address, identifier, or referrer is kept with them.
- The workspace keeps your draft, settings, saved prompts, and your language choice in this browser's
localStorage. Clearing site data removes them. - Choosing a language in the language selector stores it in a
pf-langcookie (one year, this site only) so pages open in that language next time. It holds only the language code and is never set unless you pick a language. - Google Analytics (GA4) runs on every page of promptflowengine.com and records page views, with Google signals and ad personalization turned off. Preview and local builds send nothing. Visitors in the EEA, the UK, and Switzerland, and browsers that send Global Privacy Control, get GA4 without analytics cookies (consent mode with analytics storage denied).
- The site sends usage events to GA4:
optimize_run,optimize_apply,template_load,prompt_save,prompt_copy,prompt_download,share_create,share_open,sanitize,library_open,library_share,insight_share,social_landing(the network, campaign, and post id of a tagged link from our social posts),get_started_click,trial_signup_click,signup_started,signup_completed,demo_request,contact_sales,docs_view,vscode_extension_click,chrome_extension_click,demo_center_click, andextension_listing_click(which store, and the page the link was on). Their parameters are settings (model, mode, goal), template ids, scores, counts, and size buckets such as100-500tokens. Prompt text, findings, and anything you type are never sent. - If Cloudflare Web Analytics is enabled, it records cookieless page views. It never sees prompt text.
- Error reports from the Chrome and VS Code extensions are off by default. If you turn them on (Chrome: Settings → Diagnostics; VS Code:
promptflow.diagnostics.errorReports, never sent while VS Code telemetry is off), an unexpected failure sends the error type from a fixed list (such asprocess_internal), its severity, and the extension version to the configured server. Never the error message, a stack trace, prompts, page or file content, or anything that identifies you, your account, or your device. They are kept as counts for at most 90 days and only PromptFlowEngine administrators can see them. - When this site's own code fails in your browser, it sends an anonymous error report to promptflowengine.com itself (no third party, no cookies): the error type from a fixed list (such as
chunk_load_failed), its severity, and the section of the site you were on (such asdocs). Never the error message, the full address, anything after?or#(share links keep your prompt there), or anything you typed. Errors from other sites' scripts and from browser extensions are ignored. If your browser sends Global Privacy Control or Do Not Track, nothing is sent.
What is logged
For each API request: a request id, route, method, status, duration, an input-size bucket (such as 1k-10k), and whether it was rate limited. Prompt text and results are never logged.
Security model
- Strict Content Security Policy (hash-based scripts,
frame-ancestors 'none'), HSTS, andnosniff. - Google Analytics and the optional Cloudflare analytics beacon are the only third-party scripts; the CSP allows nothing else. Fonts are self-hosted, and translations are part of the site: no prompt or page text is sent to a translation service.
- The API validates every field, caps input size, rate-limits per IP, and returns typed errors without internal details.
- Sensitive-data detection returns categories and offsets, never the matched value.
- Prompt-injection detection is signature-based. It reports risk, not proof, and can miss novel attacks.
Found a vulnerability? Report it privately to the maintainer before disclosing it publicly. See the developer page.
Contact
Questions about privacy, your data, or deleting an account: support@promptflowengine.com.