Privacy Policy — VEO Automation
Last updated: 2026-06-06
VEO Automation ("the extension", "we") is a Chrome extension that automates batch video and image generation on Google Flow (labs.google). This policy describes exactly what data the extension touches, what leaves your browser, and what does not.
1. Summary (TL;DR)
- We do not collect browsing history, page content, keystrokes, form data, cookies, or any personal identifiers from your browsing.
- We do not run analytics, telemetry, or third-party tracking SDKs.
- Your prompts, generated videos, and generated images stay on your machine. They are never uploaded to our servers.
- The only data that leaves your browser is:
- An anonymous request from the extension's background worker to fetch up-to-date Google Flow CSS selectors (so the extension keeps working when Google updates the page).
- If — and only if — you click "Report bug", a one-time upload of the in-memory log of the current session plus a short context object (extension version, current mode, last run status).
- License and payment data handled by Paddle (ExtPay), used only when you choose to subscribe.
2. Data the extension processes locally
The extension stores the following in chrome.storage.local on your
device. It is never transmitted off-device by us:
- Your prompt batches, generation settings, mode, voice/character presets.
- Run progress, queue state, and per-item status.
- A rolling in-memory log of recent extension actions (kept for the current session, used to populate the optional bug report).
- UI preferences (language, panel layout).
The extension also reads files you explicitly drag in or pick (e.g. CSV prompt batches, reference images). These files are processed locally and are not uploaded by us.
3. Data sent to our backend
The extension talks to one origin we operate: veo-automation.extensionfox.com.
3.1 Remote configuration fetch (automatic, anonymous)
When the background service worker starts, it issues a single GET to
/api/extsdk/v1/automation/flow to fetch the current Google Flow DOM
selector table. This lets us ship selector fixes from the server when
Google changes the Flow UI, without requiring a new extension release.
This request contains:
- Your extension installation ID (an opaque random ID generated by Paddle on first install; not linkable to you personally).
- Your extension version.
- The standard request metadata any HTTP request includes (IP address, User-Agent — used only to serve the response and for routine abuse protection; not joined with any other dataset).
It does not contain prompts, generated content, page URLs you visit, page content, or any other data from your browser.
3.2 Bug reports (user-initiated, opt-in)
If you click the "Report bug" button in the side panel, the extension
posts to /api/extsdk/v1/bugreport/veo exactly:
- The in-memory log of the current session (level, message, timestamp).
- A small context object: extension version, current mode, and — if a run exists — its status and processed/total counts.
- An optional free-text note you can attach afterwards.
We use this payload only to diagnose the reported bug. If you do not click "Report bug", nothing is sent.
4. Payment and license data
We use Paddle to handle subscriptions. When you choose to subscribe:
- Paddle collects the email address and payment information you provide on its checkout page, subject to its own privacy policy at https://www.paddle.com/legal/privacy.
- Our backend receives only a license/subscription state from Paddle (e.g. "active subscriber: yes/no") so we can gate paid features.
- We never see or store your full payment instrument.
If you do not subscribe, no payment data is involved.
5. Sensitive Chrome permissions
The extension declares the following permissions. Each is used solely for the purposes below; none is used to monitor your browsing.
| Permission | What we do with it |
|---|---|
storage |
Persist your settings, prompt batches, and queue state on your device. |
tabs |
Locate the active Google Flow tab so the extension can drive it. |
activeTab |
Operate on the Google Flow tab you are currently on. |
background |
Run the service worker that schedules the generation queue. |
sidePanel |
Render the extension's UI in Chrome's side panel. |
downloads |
Save the videos and images Google Flow produces directly to your Downloads folder, on your behalf. |
debugger |
Send synthetic mouse/keyboard events to the Google Flow tab (see §6). |
cookies |
Delete non-authentication cookies on labs.google as a self-healing step when Flow becomes unresponsive (see §6.1). Your Google sign-in cookies are explicitly preserved. |
Host: *://labs.google/* |
Inject the content script that runs the automation on Google Flow. |
Host: https://veo-automation.extensionfox.com/* |
Talk to our backend (§3) and to Paddle's license endpoint. |
6. Why we need chrome.debugger
Google Flow's UI rejects synthetic events that JavaScript dispatches
directly (it checks the isTrusted flag on events). To click and type
on your behalf, the extension attaches chrome.debugger to the Google
Flow tab and emits real input events via the Chrome DevTools Protocol
(Input.dispatchMouseEvent, Input.dispatchKeyEvent).
While chrome.debugger is attached:
- It is attached only to the active Google Flow tab.
- It is used only to dispatch synthetic input events.
- It is not used to read network traffic, console output, DOM contents, page source, cookies, or any other tab state.
- It is detached when the automation run ends.
Chrome shows its standard yellow "this extension is debugging this browser" banner the entire time, by design.
6.1 Why we need chrome.cookies
When Google Flow becomes unresponsive — typically when three prompts
in a row exhaust all their retries, which usually means Flow has run
out of credit, hit a rate limit, or is briefly down — the extension
performs a one-shot self-heal so the next retry has a clean slate.
That self-heal calls chrome.cookies.remove to delete the
stale client state Flow caches locally, then re-renders Flow's top
bar to force a fresh fetch from Google's server.
Scope:
- Operates only on
labs.googlecookies. - Removes only non-authentication cookies. Google
single-sign-on cookies (names starting with
SID,SSID,HSID,APISID,SAPISID,LSID,NID,1P_JAR,__Secure) are explicitly whitelisted and never touched — you stay signed in. - The extension never reads cookie values. It only
enumerates cookie names on
labs.googleto know which non-auth cookies to delete. - Cookies are not transmitted anywhere.
7. Data we do not collect
To be explicit, we do not collect or transmit:
- Browsing history or visited URLs outside
labs.google. - Page content from any site other than the Google Flow pages your automation operates on.
- Keystrokes, form field contents, cookies, or credentials.
- IP-based location, device fingerprints, or advertising identifiers.
- Any data for sale or for advertising purposes.
8. Third parties
The extension communicates only with:
labs.google— to run the automation you initiated.veo-automation.extensionfox.com— our backend, scope described in §3.Paddle.com— only when you initiate a subscription action.
No other third-party services are contacted.
9. Data retention
- Local data lives in
chrome.storage.localon your device until you clear it or uninstall the extension. - Anonymous remote-config requests (§3.1) are kept in standard web server access logs for up to 30 days for abuse protection, then rotated out.
- Bug reports you submit (§3.2) are kept for up to 90 days, then deleted.
- Paddle subscription records are retained per Paddle's policy.
10. Your choices
- Uninstall the extension at any time. All
chrome.storage.localdata is removed by Chrome. - Do not click "Report bug" if you do not want logs uploaded.
- Contact us (§12) to request deletion of any bug report you submitted.
11. Changes to this policy
We will update the "Last updated" date above whenever this policy changes materially. Continued use of the extension after a change constitutes acceptance of the updated policy.
12. Contact
Questions, deletion requests, or security reports:
- Email: [email protected]