Privacy.
CTVZIP is a delivery-spec check and transcoding tool operated by Hook Creative Studio Pty Ltd (Australia). This page explains what data we hold about you, why we hold it, and how you get it back or delete it.
What we store
- Account: email address, bcrypt password hash, verification state, admin flag, Stripe customer id.
- Uploads: master video files you upload live in Cloudflare R2 (Sydney region) keyed to your account. Ingest metadata (duration, bitrate, loudness, true peak etc.) is stored alongside so we can grade the file.
- Renders: the per-platform rendered outputs derived from your masters, plus a job history (which platforms, when, whether they succeeded).
- Operational logs: failed action records (`error_log`) for 90 days, and short-lived rate-limit counters keyed by email + IP.
What we don't store
- Card details. All billing is handled by Stripe. Your card is tokenised by Stripe Elements in the browser; we only ever see the Stripe customer id and a last-4 display token.
- Analytics or ad trackers. No third-party pixels.
Who your data is shared with
To operate the product we send data to a small set of processors:
- Cloudflare R2 - master file storage (Sydney).
- Cloudflare Turnstile - bot check on public forms.
- Amazon Web Services - MediaConvert (Sydney) for encoding, SES for transactional email.
- Supabase (Postgres) - primary application database (Sydney).
- Stripe - payment processing.
- Fly.io - hosting.
Retention
- Campaigns and everything under them (master files, rendered outputs) are deleted from R2 and the database 90 days after your last activity on the campaign. Uploading a new master or queuing a render counts as activity and resets the clock for the whole campaign.
- Error logs are pruned after 90 days.
- Rate-limit counters reset on their own sliding windows (15 min to 1 hour) or once you successfully sign in.
Getting your data back or deleting it
From the Account page you can:
- Download a JSON export of every row we hold that belongs to you.
- Delete your account. This removes your R2 blobs, detaches your Stripe customer, and cascades every database row keyed to you.
Contact
For any privacy questions please use the contact form.