Privacy Policy
Effective July 20, 2026. How Caravaca Labs, LLC handles data for the Tetra Calculator website, Android app, and Chrome extension.
Overview
Caravaca Labs, LLC operates the Tetra Calculator website at tetracalculator.com and publishes the Tetra Calculator Android app and the Tetra Scientific Calculator Chrome extension. Together, these products are the "Service." This policy explains what each product processes, why it is processed, where it is stored, and how it can be deleted.
If you choose to use our Service, you agree to the collection and use of information in relation to this policy. The personal information we collect is used for providing and improving the Service. We will not use or share your information with anyone except as described in this Privacy Policy.
Information Collection and Use
We take your privacy seriously. We do not require you to create an account to use our calculators. We may collect limited information automatically through your browser, through cookies, and through privacy-focused analytics in order to operate, secure, and improve the Service.
Log Data
Whenever you visit our Service, we may collect information that your browser sends to us, called Log Data. This Log Data may include information such as your device's Internet Protocol ("IP") address, browser type and version, the pages of our Service that you visit, the time and date of your visit, the time spent on those pages, and other diagnostic statistics.
Cookies and Third-Party Advertising
For website analytics, we may use services such as Microsoft Clarity to understand aggregate usage, heatmaps, session behavior, and technical friction. Calculator input fields and form fields should be masked in recordings, and we do not intentionally send calculator inputs, search queries, or contact details as analytics tags.
We may also use advertising and measurement tools provided by third parties. These tools may use cookies or web beacons to collect non-personally identifiable information (for example, pages viewed, browser type, and the time and date of your visit) during your visits to this and other websites, in order to measure and improve advertising. Information collected by these tools is governed by the privacy policies of the respective providers. To learn more about interest-based advertising or to opt out, you can use industry opt-out tools such as optout.aboutads.info and optout.networkadvertising.org.
Web Forms on Our Site
When you submit a form on our site, such as the contact form or an embed request, we use the information you provide to respond to your request and to operate the Service. Please include only the information needed for your request.
Calculator Inputs
The values you enter into a calculator are processed to produce a result. These inputs are used to make the calculator work and are not tied to an account or used to build a personal profile of you. On the website, we do not intentionally send calculator inputs as analytics tags. In the Chrome extension, expressions and results are evaluated and stored locally as described below.
Tetra Calculator Android App
The Android app does not require a Tetra Calculator account and does not include advertising or third-party analytics SDKs. Most calculations run on your device. The app stores calculation and converter history, variables, formula favorites, scan results, settings, and premium-status cache in its app-private database and preferences. Android cloud backup and device-to-device transfer are disabled for all app-private data.
The app creates a random installation identifier and an app-managed session credential so our API can rate-limit requests, verify app integrity, and keep premium access accurate. The installation identifier is not an advertising ID and is not used to follow you across apps or websites. The session credential is protected with Android Keystore where the platform supports it. The API stores the installation identifier, app-integrity verdict, client version, creation time, last-seen time, and installation status.
The Android app communicates with our API only for installation attestation, premium verification, camera-math recognition, entitlement refresh, and installation-data deletion. Ordinary calculator expressions are evaluated locally and are not sent to our API unless you explicitly submit a camera image for recognition.
Camera Math and OCR
Camera math is optional and available only after you grant camera permission and submit a capture. The app keeps the capture in app-private temporary storage, removes location and other unnecessary image metadata by decoding and re-encoding it, and uploads the selected image region over HTTPS to the Tetra Calculator API on Cloudflare. Cloudflare Images normalizes the upload, and OpenAI processes it to return a proposed expression. OpenAI requests use store: false. Our API processes image bytes and model output in memory and does not save them to D1, KV, object storage, or application logs.
The app deletes the private camera file after recognition succeeds, fails, or is cancelled. It stores the recognized expression, confidence, warnings, and status locally for scan history, without retaining the image, and keeps at most 100 scan-history records. You must review a recognized expression before inserting or calculating it. Do not submit images containing people, contact details, account numbers, health information, or other unrelated personal information.
Google Play Billing and Play Integrity
Google Play processes premium purchases. The app sends the product ID and purchase token to our API. The API sends the token to Google Play to verify and acknowledge the purchase, then stores a one-way hash of the purchase token, installation association, product ID, order ID when Google supplies one, purchase and verification times, acknowledgement state, and entitlement status. The API also receives Google Play real-time developer notifications and checks voided purchases so refunds and revocations remove access.
During installation registration, the app requests a Google Play Integrity verdict bound to the random installation identifier. Google processes device, app, package, certificate, and request information under Google's own policies. Our API stores a limited verdict summary and rejects unrecognized, tampered, stale, or incorrectly signed builds. We do not receive your Google account password or payment-card details.
Android Operational Logs
The API may log a random request ID, route name, response status, elapsed times, OCR byte size and dimensions, confidence range, error code, limited integrity-verdict category, and billing event type. Production requests are sampled. These logs are designed not to contain expressions, image bytes, model text, installation IDs, purchase tokens, email addresses, session credentials, or API keys. Cloudflare processes network information such as IP address as needed to deliver and protect the service. Registration rate limits may use an IP address transiently; the application does not write it to its database.
Android Retention, Export, and Deletion
Local history and settings remain on the device until you delete them in the app, delete all app data, clear Android app storage, or uninstall the app. Calculation history can be exported as a JSON document to a location you choose. OCR images are temporary as described above. Installation, entitlement, and summarized billing-event records remain on our API while needed to provide and restore premium access, prevent purchase-token abuse, process refunds, secure the service, and meet legal obligations.
An installation with no restorable purchase is deleted after 730 days without activity. Refunded or cancelled entitlement and related billing-event summaries are deleted after the same inactive period. A verified purchased entitlement is retained until you explicitly delete it so purchase restore continues to work.
Use Settings > Delete all app data to request immediate deletion of the current installation, its entitlement association, and its related billing-event summaries before the app erases local data and credentials. The service retains a short-lived revocation marker for up to 38 days solely to prevent a previously issued stateless session from being reused. For an offline deletion request, use the contact page. Google may retain Play purchase and payment records under its own legal and operational requirements.
Android Service Providers
- Cloudflare: API delivery, security, rate limiting, D1, KV, Images, and operational logs.
- OpenAI: user-requested camera-math recognition with storage disabled for the model request.
- Google Play: app distribution, billing, purchase status, and Play Integrity.
Each provider processes information under its terms and privacy policy. We do not sell Android app data, use it for targeted advertising, or permit model training on camera-math requests submitted through our API.
Chrome Extension
The Tetra Scientific Calculator Chrome extension is designed to work offline. Caravaca Labs, LLC does not collect personal data from the extension, and the extension does not sell, share, or transmit personal data to third-party analytics, advertising, or telemetry services.
The extension stores calculator settings, overlay layout preferences, disabled-site preferences, variables, formula favorites, converter favorites and recents, and calculation history so the popup, side panel, and floating overlay can work consistently. Some settings may be stored in chrome.storage.sync and sync through your Chrome account when Chrome Sync is enabled. History, variables, converter data, overlay layout, disabled-site preferences, and other local working data are stored in browser-managed local storage or IndexedDB on your device unless you explicitly export them. Chrome Sync is provided by Google and controlled through your Chrome or Google Account settings.
The extension uses the Chrome storage, sidePanel, scripting, activeTab, and contextMenus permissions. The activeTab and scripting permissions are used only after a user action to inject or toggle the floating calculator overlay on the current tab. The extension does not request broad host permissions, does not read page content for calculations, does not collect browsing history, and does not collect form data from webpages.
The extension does not use analytics, telemetry, tracking pixels, advertising identifiers, personalized advertising, remote code, or third-party data brokers. We do not let humans read extension data, except if you choose to send specific information to us for support or where required for security or legal compliance.
You can clear history, converter data, disabled sites, overlay layout, variables, and local settings from the extension options page. You can also export settings or history yourself. Uninstalling the extension removes extension data managed by Chrome according to Chrome's storage behavior.
Chrome Web Store Limited Use
The extension's use of information is limited to providing and improving its single purpose: an offline scientific calculator with popup, side panel, floating overlay, local history, variables, formulas, and unit conversion.
The use of information received from Google APIs will adhere to the Chrome Web Store User Data Policy, including the Limited Use requirements. We do not transfer extension data except as necessary for Chrome's own sync behavior when you enable Chrome Sync, to comply with applicable law, to protect against security threats or abuse, or as part of a merger, acquisition, or sale of assets where required consent and notices are provided.
Security
We value your trust in providing us your personal information, and we strive to use commercially acceptable means of protecting it. However, no method of transmission over the Internet or method of electronic storage is 100% secure and reliable, and we cannot guarantee its absolute security.
Links to Other Sites
Our Service may contain links to other sites. If you click a third-party link, you will be directed to that site. These external sites are not operated by us, so we strongly advise you to review their privacy policies. We have no control over, and assume no responsibility for, the content, privacy policies, or practices of any third-party sites or services.
Children's Privacy
Our Service does not address anyone under the age of 13. We do not knowingly collect personally identifiable information from children under 13. If we discover that a child under 13 has provided us with personal information, we will delete it from our servers. If you are a parent or guardian and you are aware that your child has provided us with personal information, please contact us so that we can take the necessary action.
Changes to This Privacy Policy
We reserve the right to update this Privacy Policy with or without notice. We advise you to review this page periodically for any changes. We will notify you of any changes by posting the new Privacy Policy on this page. These changes are effective immediately after they are posted.
Contact Us
If you have any questions about this Privacy Policy, or if you would like us to remove information you have provided, you can reach us through our contact page or by emailing hello@tetracalculator.com. We will process verified removal requests promptly.