Your privacy,
taken seriously.
This policy explains what data Jupyter Express collects when you use our AI-powered coding assistant, how we use it, and the choices you have.
What is Jupyter Express?
Jupyter Express ("we," "us," or "our") is a Python package that integrates an AI coding assistant directly into your Jupyter notebook environment. When you use the %run_jupyter_express magic command, your prompts are sent to our backend API, which relays them to an AI model and returns generated code.
This Privacy Policy applies to all users of the Jupyter Express package and our associated website at jupyter-express.com. By installing or using Jupyter Express, you agree to the practices described here.
Information We Collect
When you install or first use the package:
- A randomly generated, anonymous identifier (UUID) is created and stored in a local configuration file on your device. This identifier is used solely to authenticate your API requests and track your token balance. It contains no personal information and cannot be used to identify you.
When you send a prompt:
- The text of your prompt.
- Your conversation history for the current session (to give the model context for follow-up questions).
- A schema of your notebook's in-memory variables — names and data types only (e.g.,
df: DataFrame, shape (100, 5)). Values of your variables are never transmitted. - Your device key (UUID), used to authenticate the request and track token usage.
Standard server logs:
- IP address and timestamp, retained for security and abuse prevention.
- HTTP request metadata (endpoint, response status).
When you purchase tokens on our website:
- Your email address, used to create your account and send order confirmations.
- Billing information (name, billing address) as required to process your payment through WooCommerce.
- Payment details — card numbers are handled directly by our payment processor and are never stored on our servers.
- Your purchase history and token top-up records, associated with your account.
How We Use Your Information
We use the data we collect solely to:
- Generate accurate, context-aware Python code in response to your prompts.
- Authenticate your requests and track your token balance.
- Process token purchases and manage your account on our website.
- Send transactional emails (order confirmations, receipts) related to your purchases.
- Detect and prevent abuse, fraud, or unauthorized API access.
- Monitor service health and diagnose technical issues.
- Comply with applicable laws and legal obligations.
We do not use your prompts or notebook schemas for advertising, do not sell your data to third parties, and do not use your data to train AI models without your explicit consent.
Who We Share Data With
AI Model Providers. Your prompt and conversation history are forwarded to a third-party AI model provider.
Infrastructure & Hosting. Our API is hosted on third-party cloud infrastructure. These providers process data on our behalf under data processing agreements that restrict their use of your data.
Legal Requirements. We may disclose information if required by law, subpoena, or other legal process, or if we believe in good faith that disclosure is necessary to protect our rights, your safety, or the safety of others.
How Conversation History Is Managed
The Jupyter Express UI widget stores one type of data on your local filesystem:
- Conversation History — the multi-turn dialogue with the AI, stored as a JSON file on your device. This file maintains context across sessions and is keyed to each individual notebook. Your prompt history for recall and reuse is derived from this same file.
This data never leaves your device unless you submit a new prompt (at which point the relevant history is included in the API request as described above). You can clear this data at any time using the "Clear Memory" button in the widget, which deletes the history file for that notebook.
How Long We Keep Your Data
- Server logs (IP, timestamps): Retained for up to 90 days for security purposes.
- Token usage records: Retained for the lifetime of your account/key for billing and support purposes.
- Account and purchase data (email, billing info): Retained for as long as your account is active, and for up to 7 years thereafter as required by applicable tax and financial regulations.
- Local conversation history: Stored as JSON files on your own device until you choose to delete them via the "Clear Memory" button or manually.
How We Protect Your Data
All data transmitted between the Jupyter Express package and our API is encrypted in transit using TLS 1.2+. Requests are authenticated using your unique device key, which is never transmitted in plain text in logs.
We apply the principle of least privilege to internal data access and conduct regular security reviews of our infrastructure. However, no system is perfectly secure. We encourage you to avoid sending sensitive credentials, personal data, or proprietary secrets in your prompts.
Your Choices & Rights
Depending on your jurisdiction, you may have the following rights:
- Access — Request a copy of the data we hold associated with your device key.
- Deletion — Request deletion of your prompt history and associated records from our servers.
- Portability — Request your data in a machine-readable format.
- Objection — Object to certain processing activities.
To exercise any of these rights, contact us at the address in Section 11. We will respond within 30 days. Because we do not collect your name or email at registration, please include your device UUID (found in your local config file) so we can locate your records.
Children's Privacy
Jupyter Express is a developer tool intended for users aged 13 and older (or the applicable age of digital consent in your jurisdiction). We do not knowingly collect personal information from children under 13. If you believe a child has submitted data to our service, please contact us so we can delete it promptly.
Changes to This Policy
We may update this Privacy Policy from time to time. When we do, we will update the "Last Updated" date at the top of this page. For significant changes, we will provide a notice on our website or in the package's release notes.
Continued use of Jupyter Express after a policy update constitutes your acceptance of the revised policy. We encourage you to review this page periodically.