Privacy notice
This build separates local preview, Google sign-in, business records and temporary media delivery. Checkout is not connected and live generation remains disabled until configuration and provider privacy checks are complete.
Before submission
A selected cat photo is previewed using a browser object URL. Original photo + text composition stays in the browser. AI template images send the photo to fal only after an authorized submission. Captions and decorations are added locally to either result. Exported files are not uploaded when using browser file sharing; the system share sheet chooses where the file goes. It is not uploaded merely by selecting it. Replacing or removing it releases the local preview. Do not include private documents or unrelated people in your photograph.
Google and Supabase Auth
When sign-in is enabled, Google Identity Services and Supabase Auth process the login. Supabase manages the account identity and its Google-provided basic profile. The app uses the verified account ID, not a user ID or email supplied by a browser. Session and refresh credentials are HttpOnly cookies; they are not stored by our code in browser localStorage, URLs or logs. Google can process its own necessary authentication cookies. One Tap is optional; a Google button is also available.
Orders and task metadata
We keep purchase status, generation entitlement usage, task IDs, provider request IDs, timestamps and safe error codes for operation and payment reconciliation. Supabase stores these records, not image or video file bytes. Account data is not a public directory. Clients cannot read another account's records or change paid status. Payment-provider details and a business-record retention policy must be finalized before checkout opens.
Temporary media is not zero retention
For an explicitly authorized generation, the server prepares the photo in memory and sends it to fal as image data. It does not save it to Supabase Storage, R2, Vercel Blob or a filesystem archive. fal still processes the input and hosts the output temporarily. Our adapter requests a one-hour output-media lifetime, private initial access and no request input/output JSON storage through fal's documented controls. These requests are not a promise about all upstream logs, processing systems or backups; real enforcement must be verified before enabling the service.
The output reference is available through the app for at most 15 minutes from availability, capped by its conservative provider deadline. Returned delivery URLs are signed for at most 60 seconds and are limited to one file. They can be shared during their validity, so do not post them publicly. The app stops issuing them at the deadline. Expired references are scrubbed on access and by a bounded cleanup job; purchase and minimal task records are not a video library.
Your browser and downloads
The current task reference and its selected template/output/caption/decorations are kept in sessionStorage, scoped to the signed-in account. We do not store the image, video or login token there. Preview URLs remain in page memory. Downloaded files belong on your device and are not deleted when our temporary delivery window expires. A download click is not proof of successful saving.
Requests and launch status
Sign out to clear this site's session. Account deletion, applicable record retention, the responsible operator and a privacy-contact route must be finalized before public paid launch. This notice does not claim that an unconfigured service is already processing customer payments.