01Who we are
RiffAds is an AI video ad platform run by [Company legal name] ("we", "us" or "our"). We are responsible for the personal data described in this policy (the "controller"), except where this policy says otherwise.
Our address is [Registered address]. For any privacy question or request, email hello@riffads.com.
When a business uses RiffAds, the content it puts into its workspace (for example a photo or a voice of a person) may contain other people's personal data. The business decides what to upload and why, and we process that content to provide the service to it. To confirm: whether we act as a processor for customer content, whether we offer a data processing agreement, and whether we need an EU or UK representative or a Data Protection Officer
02What this policy covers
This policy applies when you visit riffads.com or our documentation site, use the RiffAds app at app.riffads.com, or use RiffAds through our REST API, our MCP server, our command line tool (the CLI) or our Agent Skills. In this policy we call all of these the "service".
It does not cover websites or apps run by other companies, even when you reach them from RiffAds. Examples are Google sign-in, the Dodo Payments checkout page, Cal.com, and AI apps you connect to RiffAds (such as Claude or Cursor). Their own privacy policies apply.
RiffAds does not post anything to social media and does not connect to your social media accounts. The videos, images and audio we create are shown in the app and delivered to you as download links.
Please read this policy together with our Terms of Service, Acceptable Use Policy and AI Disclosure.
03Account and workspace data
When you create and use an account, we collect:
- Name, email address and password. We store your password only as a secure hash, never in plain text. If you sign up with a password, you must verify your email address before you can sign in.
- Google sign-in data, if you sign in with Google. Google shares your name, email address, profile picture and Google account id with us, and we store the sign-in tokens Google gives us.
- Workspace data. Every account gets its own workspace. We keep the workspace name, its members and their roles (owner, admin or member), the plan and billing status, and your preferences in the app.
- Invitations. When someone invites a person to a workspace, we store the invited email address, the role, who sent the invitation and when it expires. The invitation email shows the name of the person who sent it and the workspace name.
- Email verification and password reset links, linked to your email address. These links stop working after a short time.
- Account status, such as whether we have blocked an account, and why.
04Billing and payment data
Payments are handled by Dodo Payments. You pay on a checkout page run by Dodo Payments, not on our site. We never see or store your full card number.
When you create an account, we share your name and email address with Dodo Payments so it can set up a customer record for billing. When you start a purchase, we send it your name, your email address, your user id and your workspace id.
We receive and store from Dodo Payments:
- your customer id, subscription id, plan, billing interval (monthly or yearly), subscription status and billing dates
- a record of each purchase: what was bought, the amount, the credits added, the payment id and who in the workspace made the purchase
- the payment event messages Dodo Payments sends us. These may include your name, email address, billing address and limited card details, such as the last four digits, the card brand and the country where the card was issued.
- a note on the workspace when a payment dispute or chargeback is opened
We also keep a record of every credit added to and spent from your workspace. Invoices and saved payment methods are managed in the Dodo Payments customer portal. Dodo Payments also uses payment data under its own privacy policy. To confirm: that Dodo Payments is the merchant of record under our contract and acts as an independent controller for payment data
05Content you give us
To make ads, you give us content. This content may include personal data about you or about other people. It includes:
- Scripts, prompts and instructions, the settings you choose for each generation, and the messages you send in chat tools such as the actor casting chat.
- Uploaded files: images, videos and audio. This includes product photos, logos, photos of people, and audio you record with your microphone in the app. Your browser asks for microphone access only when you press the record button.
- Brand kits: logo, colors, fonts, tone of voice, target audience and website address.
- Products: names, prices, claims, descriptions and images.
- Web pages you ask us to import. Our servers visit the address you give us (sometimes with an automated browser), copy up to six images from the page into your workspace, and use an AI model to pull out brand or product details. We keep the page address with the imported images. We tell the AI model not to pull out personal names, such as the names of reviewers.
- Workflows you build, and the briefs and data you add to them.
We store most of this content in your workspace so you can use it again. We do not save a history of the actor casting chat, but the portraits it makes and the prompts used to make them are saved with your generations.
Only give us content you have the right to use. If your content includes other people, such as their face, voice or name, you are responsible for having their consent. Our Acceptable Use Policy explains when you need written consent, for example to make a custom actor or clone a voice.
06Custom actors and voices
Some features work with faces and voices. Please read this part carefully.
- Custom actors from a description. You describe a person in words, and you can add up to two reference images. AI models create portraits from them.
- Custom actors from a photo. You can turn a photo in your workspace into an actor.
- Actor details. When you create an actor, an AI model looks at the actor's image (the portrait or the photo) and suggests details about the person in it: gender, age range, ethnicity, a description of their appearance, a voice description and a first name. You can change these suggestions. We store the gender, age range, ethnicity and description with the actor, and use the voice description to choose or design a voice for it.
- Instant Voice Clone. You upload an audio sample of a voice. Before cloning, you must confirm that you have the right to clone the voice. We keep a record of that confirmation: the text you agreed to, your user and workspace, your IP address, your browser details (user agent) and the time. The sample is sent to Deepgram, which turns the speech into text for a safety check, and then to ElevenLabs, which creates the voice. The clone flow does not save the sample in our own file storage. We store the new voice's name, language and gender and a short preview clip made with it, and ElevenLabs keeps the voice itself.
- Voice Design. You describe a voice in words. We send the description to ElevenLabs to create a synthetic voice. You do not upload a voice sample.
You may use a photo or reference image of a real person only if it shows you, or if that person has given you written consent, as our Acceptable Use Policy requires.
Details such as ethnicity, and data about faces and voices, may be sensitive under some laws. We use them to create and run the actors and voices you ask for, and for safety checks. To confirm: the legal basis and consent needed for photos of real people and for the details the AI suggests (ethnicity is special category data under the GDPR, and the age range can be under 18), whether suggesting ethnicity from a face photo is allowed under the EU AI Act, and whether face photos or voice samples count as biometric data under laws such as the Illinois Biometric Information Privacy Act
07Generated outputs
The videos, images, audio and other outputs RiffAds creates for you are stored in your workspace. With each output we keep details about how it was made: the inputs and settings, the AI model used, the status and the credits charged. Our records mark each output as AI generated.
As soon as an AI provider returns a finished file, we copy it into our own file storage. After the copy is done, we do not keep or use the provider's temporary link.
Files in your workspace are private. We show them to you through links that expire after a short time. Anyone who has a link can open the file until the link expires, so share links with care.
08Usage, device and security data
When you use the service, we collect:
- Sign-in session data: your IP address, your browser and device details (user agent), the workspace you are working in, and when the session expires.
- Activity data: the generations, workflows and projects you run, the features and AI models you use, credit estimates and charges, and errors.
- Limit and abuse data: counters that limit how many requests a workspace, a user or an API key can make. For some public parts of our MCP server, we count requests by IP address in memory only and do not save these counts.
- Technical logs that our hosting and background job providers create when they run the service.
When you visit riffads.com, our hosting provider receives the technical data any website receives, such as your IP address and browser details, so it can deliver the page.
09API, MCP, CLI and agent data
RiffAds can be used by software and AI agents, not only in the browser. For this we collect:
- API keys. Each key belongs to a workspace. We store the key only as a hash, so we cannot show it to you again. We keep its name, its first 12 characters (so you can recognize it), its permissions, its spending budget, how many requests it made and when it was last used.
- MCP connections. When you connect an AI app to our MCP server, we store the app's name and icon, the web addresses it uses to finish sign-in, the access tokens it uses, your approval, which workspace pays for its work, whether it may spend credits, and when it was last used.
- Which key, connection or person started each generation, so every charge can be traced.
The CLI saves your API key in a file on your own computer that only your computer user account can read. The CLI itself does not collect analytics, but the requests it sends to our API are recorded like any other API request.
When you use RiffAds through an AI app such as Claude or Cursor, that app sees your requests and our answers, including links to your files. The company behind that app handles this data under its own privacy policy. Because these apps may keep chat history, the file links we give to agents expire after 10 minutes.
10Emails and messages
We use email to run your account. Today we send email verification, password reset and workspace invitation emails.
If you contact us, we keep your message, your contact details and our reply, so we can help you and keep a record.
Our website links to Cal.com so you can book a call with us. Booking happens on Cal.com, under its own privacy policy.
11Analytics
On {{site}}, our marketing site, and on our documentation site, we do not use analytics or advertising tracking tools. Videos on the site load from a content delivery network, so your browser sends it a normal request that includes your IP address.
In the app at {{app}}, we can use the analytics tools below. They help us understand how people use RiffAds, find problems and improve the product.
- PostHog (product analytics). It can record how you use the app, such as the pages you view and what you click. When you are signed in, it links events to your user id and email address. Some events are sent from our servers, including events about API and agent use, and include your workspace id and user id. Events from creating an actor can include the text you typed to describe the actor.
- Google Analytics, which measures visits and uses its own cookies.
- RB2B, a visitor identification service that tries to identify the people and companies who visit, so we can see which businesses are interested in RiffAds.
- Vercel Web Analytics, which measures page views without cookies.
To confirm: which of these tools are turned on in production (remove any that are not from this page), whether PostHog session recording is on, which host the app really runs on (entity.ts names one host, while some app code and the CLI use another), and add a cookie consent banner for visitors in the EU and UK before analytics cookies are used
12How we use your data and why
We use personal data for the purposes below. Where a law such as the EU or UK GDPR requires a legal basis, we give it in parentheses.
- To provide the service (contract): create and secure your account, run your generations, store your content and outputs, run workspaces and teams, and make your API keys, MCP connections and CLI work.
- To bill you and manage credits (contract and legal obligation): process purchases through Dodo Payments, add and charge credits, and keep financial records.
- To keep the service safe (legitimate interests and legal obligation): check scripts, prompts and uploaded images before they run, prevent fraud and abuse, enforce our Terms of Service and Acceptable Use Policy, apply rate limits and spend limits, and handle payment disputes.
- To improve and grow RiffAds (legitimate interests, or consent where the law requires it): understand how features are used, fix problems, improve the instructions we write for AI models, and see which businesses are interested in RiffAds.
- To talk with you (contract and legitimate interests): send account emails and answer your questions.
- To meet legal duties (legal obligation): keep the records the law requires and respond to valid requests from authorities.
Where we rely on legitimate interests, we have weighed our interests against your rights, and you can object at any time (see "Your rights" below). Where we rely on consent, you can withdraw it at any time. This does not affect what we did before you withdrew it.
13How AI processing works
RiffAds does not run its own AI models. To create your outputs, we send your inputs to third-party AI providers. They process the inputs and send back the result.
- fal.ai creates talking actor videos, other videos, images, music, voice changes, captions and other media. It receives your prompts and scripts, and your uploaded images, audio and video through private links that expire.
- OpenRouter sends text and image requests to large language models from companies such as Google, Anthropic, OpenAI and xAI. We use these models to write and translate scripts, suggest ideas, run chat tools such as the actor casting chat, read web pages you import, check scripts and images for safety, describe actor images and help build workflows.
- ElevenLabs turns scripts into speech, clones voices from samples and designs voices from descriptions. It keeps the voices it creates for your workspace.
- Deepgram turns voice clone samples into text so we can run a safety check.
For many features, we send AI providers a copy of your uploaded image with hidden details removed, such as GPS location and camera data. The original file stays in your workspace unchanged. Some features send the original file, so remove such details before you upload if you do not want to share them.
These providers may keep inputs and outputs for a time under their own terms. For example, ElevenLabs keeps a history of the speech it creates for us.
We do not train our own AI models on your content. To confirm: whether each AI provider (fal.ai, OpenRouter and the model companies behind it, ElevenLabs and Deepgram) may keep our requests or use them to train its models, and whether to turn on no-training or zero data retention options
14Safety checks
We check content before we hold credits or start work. The same checks run for the app, the API, MCP, the CLI and workflows.
- Scripts, prompts and other text are checked by rules on our own servers, and may also be checked by an AI model through OpenRouter.
- Uploaded images are checked by an AI model through OpenRouter.
- Voice clone samples are turned into text by Deepgram, and the text is checked.
For each check we keep a record: the workspace, the user, a fingerprint of the content (a hash, not the content itself), the result, and a short reason that may describe the content. Your scripts and prompts themselves stay stored with your generations.
These checks run automatically and can block a request. For requests from the API or AI apps, if the same request fails or is blocked more than once, we may refuse it automatically for a time. If you think a check made a mistake, contact hello@riffads.com.
16Our service providers
We use these companies to run RiffAds. They process personal data to provide their services to us.
- Hosting and infrastructure: Vercel (hosts our website, documentation site, app, API and MCP server), Neon (database), Cloudflare R2 (file storage) and Trigger.dev (background jobs that process media, and live progress updates).
- AI providers: fal.ai, OpenRouter (and the model companies it connects to, such as Google, Anthropic, OpenAI and xAI), ElevenLabs and Deepgram.
- Payments: Dodo Payments.
- Email: Resend.
- Sign-in: Google, if you choose to sign in with Google.
- Analytics, where turned on: PostHog, Google Analytics, RB2B and Vercel Web Analytics.
Some of these companies, such as Dodo Payments, Google and the AI providers, may also handle data under their own terms and privacy policies. This list changes when the service changes, and we will keep it up to date on this page.
17International data transfers
We and our service providers process data in the United States and other countries. Our main database is hosted in the United States. These countries may have data protection laws that are different from the laws where you live.
When we transfer personal data out of the European Economic Area, the United Kingdom or Switzerland, we take the steps the law requires to protect it. To learn more, email hello@riffads.com. To confirm: the transfer mechanism used with each provider, for example Standard Contractual Clauses or the EU-US Data Privacy Framework
18How long we keep data
We keep personal data while your account or workspace is active. After that, we keep it only as long as we need it for legal, tax, billing, safety and dispute reasons.
- Account and workspace data is kept while the account and the workspace exist.
- Content, generations and outputs are kept while the workspace exists. Today you cannot delete uploads, generations or created voices yourself in the app or through the API. To have them deleted, email hello@riffads.com.
- Billing records, credit records, safety check records and voice clone confirmations may be kept after an account closes, for legal, tax, safety and dispute reasons.
- Deleted actors are turned off. We delete the actor's own copy of its image, but the actor's details, the original upload and the videos made with it stay in the workspace.
- Revoked API keys are turned off, not erased, so past charges can still be traced to the key.
- Disconnected AI apps. When you disconnect an AI app, we delete its connection and its access tokens.
- Some data is deleted automatically. Uploads that are started but never finished are deleted within about two hours. "Download all" bundles are deleted about 7 days after they are created. Uploads that fail our file checks are removed from storage.
- Content blocked by a safety check may be kept, but not shown, for safety and legal reasons.
- Sign-in sessions expire after 7 days, and are extended while you keep using the app. Drafts saved in your browser expire 7 days after you last change them.
- Copies held by providers, such as the AI providers and Dodo Payments, are kept under their own terms.
To confirm: retention periods for content, generations, safety and consent records, billing records and logs, and what happens to data after an account or workspace is closed
19How we protect your data
We use technical and organizational measures to protect personal data. For example:
- Connections to RiffAds use HTTPS encryption.
- Passwords and API keys are stored as hashes, not in plain text. A new API key is shown only once.
- Our servers check that you belong to a workspace before they show or change its data.
- Files are private by default and are shared only through links that expire after a short time.
- Card payments happen on the Dodo Payments checkout page, so we never handle full card numbers.
- Access to our admin tools is limited to authorized staff.
No system is completely secure. Keep your password and API keys safe, remove keys and app connections you no longer use, and set spending budgets on your API keys. If you think your account or a key is at risk, contact hello@riffads.com right away.
If a data breach affects your personal data, we will tell you and the authorities when the law requires it.
20Your rights
Depending on where you live, you may have the right to:
- access the personal data we hold about you and get a copy
- correct data that is wrong or incomplete
- delete your data
- get your data in a portable format to move it to another service
- restrict how we use your data
- object to how we use your data, including where we rely on legitimate interests
- withdraw your consent at any time, where we rely on consent
- complain to your local data protection authority
To use these rights, email hello@riffads.com from the email address on your account. We may ask you to confirm your identity first. We will answer within the time the law requires. Some changes, such as a new name or email address, cannot be made in the app today, so please ask us by email.
Some requests have limits. For example, we may need to keep billing and safety records for legal reasons. If your data is in a team workspace, we may need to involve the workspace owner, because the content belongs to that workspace.
Deleting your account. There is no delete button in the app yet. Email hello@riffads.com and we will delete or anonymize your personal data, except the data we must keep for the reasons in "How long we keep data". If closing your account also closes a workspace, its unused credits are lost, as our Terms of Service explain.
If you are not a RiffAds user and you believe your face, voice or other personal data is in content on RiffAds, email hello@riffads.com. To report misuse of your likeness, you can also email hello@riffads.com.
21California residents
If you live in California, the California Consumer Privacy Act gives you the right to know what personal information we collect, use and share, and the right to delete it, correct it, limit the use of sensitive personal information, and opt out of its sale or sharing. We will not treat you differently for using these rights.
The categories we collect are described above: identifiers (such as name, email address, IP address and account ids), commercial information (purchases), internet activity (how you use the service), audio and visual information (photos, videos and voice recordings), inferences (such as the details an AI model suggests about an actor image), and sensitive personal information (account login details, and ethnicity suggested from an actor image).
We do not sell your personal information. To confirm: that no tool in use counts as a sale or sharing under California law. RB2B visitor identification, if turned on, may count, and would then need an opt-out link
To use your rights, email hello@riffads.com. You can also ask an authorized agent to act for you. We may ask the agent to prove they have your permission.
23Children
RiffAds is not for anyone under 18. We do not knowingly collect personal data from children. If you believe a child has given us personal data, email hello@riffads.com and we will delete it.
Content that shows children is also covered by our Acceptable Use Policy.
24Changes to this policy
We may update this policy when RiffAds or the law changes. We will post the new version on this page and change the date at the top. If a change is important, we will also tell you by email or in the app before it takes effect.
25Contact us
For privacy questions and requests, contact:
- [Company legal name]
- [Registered address]
- Email: hello@riffads.com
For account and billing questions, email hello@riffads.com. To report abuse, email hello@riffads.com.