Home

Privacy Policy

Last updated October 5, 2026. Privacy policy for the Tetra Scientific Calculator Android app, Tetra Calculator website, and Chrome extension.

Overview

Caravaca Labs, LLC operates the Tetra Calculator website at tetracalculator.com and publishes Tetra Scientific Calculator for Android (also called Tetra Calculator; package com.tetracalculator.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.

The Android sections below describe the Google Play app. Website cookies, advertising, and browser analytics described in the website sections do not run inside the Android app. This policy describes our practices; it does not replace a permission request or other consent where one is required.

The developer and privacy contact is Caravaca Labs, LLC, 131 Continental Dr, Suite 305, Newark, Delaware 19713-4324, United States. Send privacy inquiries to hello@tetracalculator.com.

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 on the website through your browser, cookies, and analytics to operate, secure, and improve the website. The Android app has no user accounts; optional camera math and purchases have the separate data flows below.

Log Data

Whenever you visit our website, 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

Cookies are files with a small amount of data that are commonly used as an anonymous unique identifier. They are sent to your browser from the websites you visit and stored on your device. You can set your browser to refuse cookies or to indicate when a cookie is being sent. If you refuse our cookies, some portions of the Service may not function properly.

For website analytics, we use Google Analytics and 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

Tetra Scientific Calculator does not require a Tetra Calculator account and does not show advertising. Version 1.0.1 and later include optional Google Analytics for Firebase for usage and advertising measurement, described below. 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.

  • Device or other identifiers: a random installation ID, session credentials, and limited app-integrity information are used for service access, rate limits, fraud prevention, and security.
  • Purchase history: purchase and entitlement information is collected only when you buy or restore Premium, to verify ownership, acknowledge purchases, and handle refunds or revocations.
  • Photos and mathematical content: the image region you choose to submit and its recognized expression are sent for optional camera-math processing.
  • Diagnostics: app version, request status, timing, image size, and coarse error or integrity categories help operate, protect, and troubleshoot the service.

Camera math and Premium purchases are optional. Installation/security data and service diagnostics are required when you use the API. We do not collect contacts, messages, microphone recordings, browsing history, payment-card details, or precise device location through the Android app.

Optional Android Usage and Ad Measurement

In app version 1.0.1 and later, Google Analytics for Firebase is off until you choose Allow in the first-launch measurement dialog or enable Share usage and ad measurementin Settings > About. Choosing No thanks or dismissing the dialog leaves it off. This choice is optional and does not affect calculator or Premium access.

If you allow measurement, Google receives app-install and session events, screen names, successful-calculation counts (not their content), Premium screen visits, and automatically reported Google Play purchase events such as product, value, and currency. The SDK also processes app-instance and device identifiers, including advertising ID when available, device and operating-system information, app version, and network metadata. Google may derive approximate geography from IP addresses; we do not request GPS or device-location permission for this measurement.

We use this data to understand usage, retention, and purchases and to measure which of our Google Ads bring installs and useful engagement. Our app property is linked to Google Ads for conversion measurement. We do not send your expressions, answers, variables, saved documents, photos, recognized camera-math text, session credentials, or purchase tokens as analytics events. Advertising personalization is disabled: we do not use this app measurement to create personalized advertising audiences.

You can turn measurement off in Settings > About at any time. This stops future Analytics collection and resets the local Analytics identifier. Delete all app data also disables measurement and clears its local choice. Neither action guarantees immediate removal of events already uploaded to Google. User-level and event-level Analytics retention is set to two months; aggregated reports may remain longer. To request deletion of previously uploaded app measurement data, contact us using the request instructions below. Locating records may require the app-instance identifier; a support email alone is not automatically linked to it.

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.

Disabling response storage does not disable all provider retention. OpenAI may retain request and response content in abuse-monitoring logs for up to 30 days, with exceptions for legal or safety obligations. Provider prompt caching and image-safety handling may also apply. We do not promise zero retention by OpenAI. API content is not used for model training by default; we do not opt camera-math requests into training. See OpenAI's data controls.

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.

You can decline or revoke Camera permission in Android Settings > Apps > Tetra Scientific Calculator > Permissions. This disables capture, not the ordinary calculator. We do not access the camera in the background.

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 and its linked installations are retained while needed for purchase restore. Deleting one installation does not delete a purchase record still linked to another installation using that purchase.

Use Settings > Delete all app data to request immediate deletion of the current installation and its entitlement association before the app erases local data and credentials. Related purchase records and billing-event summaries are deleted when no other installation is linked to that purchase. The service retains a short-lived revocation marker for up to 38 days solely to prevent a previously issued stateless session from being reused. If the API cannot be reached, local deletion still proceeds, but server deletion may not complete; follow the web request instructions below. Clearing Android storage or uninstalling the app alone does not submit a server-deletion request. Google may retain Play purchase and payment records under its own legal and operational requirements. Deletion does not refund a purchase; restoring Premium can create new service records.

Request Android App Data Deletion

Tetra Scientific Calculator has no Tetra user account to close. You can still request deletion of app data without reinstalling the app.

  1. With the app installed and online, open Settings > Delete all app data and confirm. This is the most direct way to identify and delete the current installation's data.
  2. Without the app, or if server deletion failed, email hello@tetracalculator.com with the subject "Tetra Scientific Calculator data deletion". State whether you want service data, previous support messages, or both deleted. If relevant, include a Google Play order reference, not a purchase token. We may ask for limited information to verify the request and locate the installation; a support email alone is not automatically linked to a random installation ID.

Never send passwords, session credentials, purchase tokens, card details, or private camera photos. We aim to acknowledge requests within two business days and normally complete verified requests within 30 days. We will explain any information we cannot locate, data we must retain, or necessary delay. Retained security markers, shared purchase records, and provider records have the limits described above. We cannot remotely erase files on your device, copies you exported, or Google's payment records.

Android Service Providers

We disclose app data to the following providers to deliver the requested features, protect the service, verify purchases, and, only with the measurement choice above, measure our advertising. We do not sell your data:

  • Cloudflare: API delivery, security, rate limiting, D1, KV, Images, and operational logs.
  • OpenAI: user-requested camera-math recognition; provider retention is described above.
  • Google Play: app distribution, billing, purchase status, and Play Integrity.
  • Google Analytics for Firebase and Google Ads: optional usage, purchase, retention, and advertising conversion measurement.

These providers may process information outside your country, including in the United States. Access is limited to service, security, and legal needs under the applicable provider terms. Their policies are available at Cloudflare, OpenAI, and Google. We do not sell Android app data or use it for targeted advertising. We may disclose information when legally required or necessary to protect users and the service. A change of ownership requires appropriate privacy safeguards and notices; it does not authorize undisclosed uses of app data.

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

Android API traffic is encrypted in transit using HTTPS. App-private storage, protected session credentials, access controls, and limited operational logging help protect data. Camera images and purchase tokens are not written to our application logs. 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 update this page and its date when our practices change. Material changes will be communicated through the website or app as appropriate, and we will obtain additional consent where required before using data for a new purpose. Review this policy periodically for the current practices.

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.