Privacy notice
This notice describes what the running app actually stores. It is not legal advice. If we add a tracker, a new cloud upload, or a new processor, this page should change.
What stays on your device
Images and videos stay in this browser unless you confirm a Cloud train. Detect, fill-clip, click-segment, and similar-copy run locally on the files you open. We do not upload video clips.
- Media files: IndexedDB database
annotatoriq-db - Projects, classes, and labels: localStorage keyed to your Google email
- Paid/private ONNX weights: IndexedDB
annotatoriq-model - Version snapshots: IndexedDB
annotatoriq-versions - Theme, cookie-consent, and Cloud train confirm flags: localStorage
Clearing this site’s data in the browser deletes that local copy. Signing out does not wipe it.
What leaves your device
After you accept cookies and sign in with Google, the app talks to Google Firebase project annotatoriq and, if you upgrade, Stripe.
- Google sign-in. Firebase Authentication with Google (
openid email profile) in this tab. We receive your Google user id, email, and the name/photo Google provides. Email is used to scope the local project library on this device. - Account session. Firebase Auth keeps you signed in in this browser (typically IndexedDB). The cookie-consent flag is localStorage
annotatoriq_cookie_consent, not an advertising cookie. - Billing. If you pay, Cloud Functions create a Stripe Checkout or Customer Portal session. Stripe gets your Google email when we create a customer, plus payment details you enter on Stripe’s page, and may collect a billing address. Firestore
billing/{your uid}stores subscription status and Stripe ids. The app cannot write that document from the browser. - Monthly labeled-image count (Free). Firestore
labelUsage/{your uid}stores the UTC month and local file ids that became labeled. Those ids are generated in your browser; they are not your image pixels or filenames. - Share review. If you create a share code, Firestore
reviewSharesholds labels only, no pixels: project name, class names, keypoints, splits, boxes keyed by filename, collaborator Firebase uids, and reviewer emails on box votes. A second signed-in person with the code can join while a seat is open. There is no in-app delete for a share pack; email us to remove one. - Cloud train. After you confirm, labeled stills and YOLO labels upload to Storage
train-jobs/{your uid}/{jobId}/dataset.zip. FirestoretrainJobsandtrainUsage/{your uid}record the job. Accounts get 4 cloud trains and 4 deploys per UTC month. Video clips stay in this browser. A GPU worker is not live yet, so jobs stay queued and do not producebest.onnx. You can refuse the confirm and keep using the local training kit. - Deploy. Deploy copies the ONNX already loaded in this tab to Storage
deploys/{your uid}/{slot}/model.onnx. FirestoredeploySlotsstores the slot name and path. Replacing the same slot this month does not take another of the 4. Detect still runs in this browser via ONNX Runtime Web. There is no hosted HTTP predict yet. - Public models (Free). Custom ONNX files you add on Free are uploaded to Firebase Storage under
public-models/{your uid}/and listed in FirestorepublicModels(owner uid, file name, display name, size). Anyone signed in can load them. Paid private models stay in this browser.
Cookies and similar storage
There are no ads. This app does not load Firebase Analytics, ad pixels, or a separate product-analytics SDK. “Accept cookies and continue” is required before Google sign-in so the browser can keep your session and project. Google sign-in is still required after that. Google and Stripe set their own cookies on their domains when you use their windows. You can read this page without accepting.
What we do not do
- We do not sell personal information.
- We do not run a GPU train worker yet. Cloud train jobs queue in Storage until one exists.
- We do not send pixels in a share pack.
- Detect is an ONNX file in the browser (bundled pose weights or a custom file you choose), not a hosted labeling API.
Retention
Local data lasts until you clear site data. Firebase Auth, billing, label-usage, train jobs, deploy slots, public models, and share packs last until you delete the public model, cancel through Stripe’s portal (subscription), or we delete the cloud records after you ask. Stripe keeps payment records as required to process charges.
Your choices
- Do not accept cookies if you do not want a Google session on this device.
- Sign out from the header.
- Clear this site’s cookies and site data to remove local media, labels, and models.
- Refuse Cloud train to keep stills only on this device.
- Paid users can open Billing for Stripe’s Customer Portal (card, cancel at period end).
- Email yardplots@gmail.com to delete a Firebase account, share pack, public model, train job, deploy slot, or label-usage document we still hold.
Children
AnnotatorIQ is built for people who can hold a Google account. It is not directed at children under 13.
Processors and transfers
Google (Identity, Firebase Auth, Firestore, Storage, Cloud Functions) and Stripe process data to provide sign-in, the small amount of cloud state above, and payments. Those companies may handle data outside your country, including the United States. See their privacy notices for their practices.
Changes
If we add ads, a new analytics SDK, or a live GPU worker, we will update this notice and the date above. Questions: yardplots@gmail.com.