Privacy Policy
Effective date: July 6, 2026 · Applies to the Zemicolon browser extension and bravospeak.com/zemi
1. What we collect
Nothing, by default. Zemicolon does not collect, transmit, store, sell, or share your personal data, your snippets, your keystrokes, or your browsing activity. We have no analytics SDK, no telemetry, no crash reporting, and no advertising identifiers.
2. Where your data lives
All snippets, settings, usage statistics (such as your keystroke-savings counter), and license status are stored locally in your browser's extension storage (chrome.storage.local) on your device. This data never leaves your machine through any action of ours. You can export it as a JSON file at any time, and you can delete it at any time by removing the extension or using the "Delete all data" control in Settings.
3. The complete list of network requests
Zemicolon's normal operation involves zero network requests. There are exactly two situations in which any network activity can occur:
- Opening the checkout page. If you choose to upgrade, the extension opens our payment page (hosted by Stripe) in a new browser tab. This is a normal web page visit that you initiate. Payment is processed entirely by Stripe, Inc. — see Section 5.
- Optional license validity check. If you have activated a Pro license, the extension may fetch a small public file from our website at most once every 30 days to check whether any license keys have been revoked (for example, after a refund or chargeback). This request transmits only the anonymous license key identifier — never your snippets, never any content, never any browsing data. You can disable this check in Settings → Privacy, and the extension functions fully offline.
4. Why the extension asks for broad site access
Zemicolon requests permission to run on the pages you visit (<all_urls> host permission). This is required for one purpose only: detecting your trigger shortcut (for example ;intro) in text fields so it can be expanded, on whatever site you happen to be typing. The extension reads only the recent keystrokes needed to match your shortcuts, never records them, and never transmits them. It does not read page content unrelated to the field you are typing in, and it never expands or reads anything in password or payment-card fields.
5. Payments
Purchases are processed by Stripe, Inc. on Stripe-hosted pages. We never see or store your card details. When you purchase a license, Stripe provides us your email address and payment confirmation so we can deliver your license key. Stripe's handling of your data is governed by the Stripe Privacy Policy. We retain a record of the sale (email, license key identifier, purchase date) as required for accounting, refunds, and support. This record contains no extension content.
6. Your rights
Because your content never reaches us, most data-rights requests (access, deletion, portability of snippets) are satisfied directly on your device via Settings → Export or Delete. For purchase records, you may request access to, correction of, or deletion of the data associated with your license (subject to legal retention requirements for financial records) by emailing hello@bravospeak.com. If you are in the EU/EEA or UK, you also have the right to lodge a complaint with your supervisory authority. We honor applicable rights under the GDPR, UK GDPR, and CCPA/CPRA.
7. Children
Zemicolon is not directed at children under 13, and we do not knowingly collect personal information from children.
8. This website
bravospeak.com is a static website served via Cloudflare. We do not run analytics scripts on it. Cloudflare, as our hosting provider, may process technical data (such as IP addresses) to serve and secure the site; see the Cloudflare Privacy Policy. The interactive demo on the Zemicolon page runs entirely in your browser — nothing typed into it is transmitted.
9. Changes to this policy
If we ever change what data the extension touches, we will update this policy, update the "effective date" above, and describe the change in the extension's release notes before it ships. The promise that snippets remain local is a design commitment, not a temporary setting.
10. Contact
BravoSpeak Apps · hello@bravospeak.com