Effective August 16, 2026
Xtension Privacy Policy
Xtension's single purpose is to help users prepare, adapt, and preserve content for use on supported social platforms. This includes drafting and improving posts or replies, generating related images, displaying relevant public relationship context on X/Twitter, and exporting X/Twitter content to PDF.
For AI and PDF features, JoDevelop does not receive or store page content, drafts, AI requests, or AI responses. There is no analytics SDK, advertising system, or tracking SDK. AI requests pass through the local connector to the selected engine. The optional PapaClip action below sends the chosen tweet URL to PapaClip.
AI features and user control
AI features are off by default. The user turns them on in Xtension's options after a short explanation of the OpenAI connection. Turning them off immediately stops AI draft actions and automatic contextual suggestions.
Turning on AI features does not sign the user into ChatGPT. Account authentication is a separate step handled by the local connector and the official OpenAI sign-in flow; Xtension and JoDevelop never receive the user's password or OAuth token.
When AI features are on, contextual suggestions may be requested when the user deliberately focuses an empty supported reply field. Other AI requests start only when the user chooses an Xtension action. Results remain editable drafts; Xtension never activates a platform's final publish control.
PDF export works whether or not AI features are enabled, runs locally in the browser, and is never sent to OpenAI or JoDevelop.
PapaClip video downloads
Only when you choose Send to PapaClip, Xtension opens papaclip.com and sends the selected public tweet URL to your signed-in account. PapaClip downloads and stores the video under its account rules and privacy policy. Sign-in stays on PapaClip; Xtension does not read your session cookie or password. Its CSRF value remains on PapaClip and is never stored or sent to X.
Pending URLs and tab identifiers are held in extension session storage (local storage on older browsers), are valid for ten minutes, and are removed when the target tab closes or a request fails. Expired entries are discarded on the next share. Normal dashboard visits do not submit anything.
Data used for the selected feature
- Website content: visible posts, comments, articles, quoted content, same-author threads, drafts, instructions, public images, and video thumbnails needed for the selected feature.
- Public identifiers: display names and account handles shown next to that content.
- Current and source URLs: only for the supported page or selected public post; Xtension does not build a browsing profile.
- X/Twitter relationship context: public following, followed-by, or mutual status already present in X/Twitter responses, processed locally to display timeline badges independently of the optional AI tools.
- Local settings and diagnostics: AI and feature settings plus a bounded log of operation names, timestamps, durations, text lengths, and errors. Full content, prompts, passwords, cookies, tokens, and API keys are excluded from diagnostics.
Xtension contains no microphone, camera, audio-capture, cookie-reading, password-reading, private-message, or platform-authentication-token code.
What is sent to OpenAI
When the user requests an AI feature, the browser sends only the data needed for that request to the Xtension Connector at 127.0.0.1:47623 on the same computer. The connector uses only engines explicitly authorized by the current consent: OpenAI Codex through the user's ChatGPT session, Claude Code through the user's existing claude.ai subscription session, or a configured localhost/private-network Ollama server. Fallback attempts run one at a time and stop as soon as an engine returns text. Images remain on Codex. JoDevelop is not in these data paths.
Claude Code runs with tools, MCP, slash commands, session persistence, API-key environment variables, and automatic retries disabled. Claude Code adds account metadata, including the signed-in email address, to its own system context; Xtension does not read, log, or store it. Xtension does not request or store OpenAI or Anthropic API keys, ChatGPT OAuth tokens, or Claude OAuth tokens. AI and PDF features do not send website content, drafts, URLs, or responses to JoDevelop servers.
Security, storage, and retention
The connector binds only to 127.0.0.1, validates the request host, and accepts only two fixed Xtension origins by default: the current Chrome Web Store ID and the legacy Xtension package ID retained for existing installations. Arbitrary extensions remain blocked. Explicitly configured development or other-browser origins require a shared local secret. The extension contains all executable extension code and does not download or evaluate remote code.
After its first manual installation, the connector periodically reads Xtension's public version manifest. If a newer connector exists, it downloads the Windows installer from the documented Xtension/GitHub release hosts, verifies the published SHA-256, the NOVA2G Authenticode signature, and the release version, then installs it silently while no AI operation is active. Version checks contain no page content, draft, ChatGPT account data, or AI request.
PDFs are saved through the browser's normal save flow. Extension settings and bounded diagnostic metadata remain in extension storage until cleared or uninstalled. The optional Windows connector keeps its logs and generated image files locally under %LOCALAPPDATA%\Xtension\Bridge. Xtension has no developer account database.
Limited Use
Xtension's use and transfer of information received from Google APIs, if any, complies with the Chrome Web Store User Data Policy, including its Limited Use requirements. Data is used only for Xtension's single user-facing purpose, is not sold, is not used for advertising, and is not used for creditworthiness or lending.
Contact
Email: contact@jodevelop.com
Support: GitHub issues