Last updated 19 October 2026
This policy says what LensLabs LLC (“LensLab”, “we”, “us”) actually handles for Heavenly at lenslab.dev/heavenly, where it goes, who else touches it, how long it stays, and what you can do about it. It is written from what the product does, feature by feature, so that nothing has to be guessed. It is written so it can be read in the EEA, the UK, Switzerland, the United States, and elsewhere. Contact hello@lenslab.dev.
1. Who we are and what this covers
LensLab operates Heavenly from the United States. For the information described in this policy, LensLab decides why and how it is used, which data protection law calls being the “controller”.
There is one exception. Your footage, captions and posts can contain personal information about other people: someone who appears or speaks in a video, or a teammate you invite. For that information you decide what happens to it and LensLab handles it only on your instructions, as your “processor”. The Data Processing Addendum covers that relationship.
This policy covers Heavenly: the pages under lenslab.dev/heavenly, the editor, Clips, chat, Social, the calendar, the API and the connector. Daydreamers, LensLab’s photography product, has its own policy. The two products share one account and one sign-in, so your account details are the same in both.
2. The short version
- Reading the public pages needs no account and, unless you press Accept on the cookie banner, sends no analytics.
- The editor cuts your video in your browser. Sound, sampled stills and transcripts go to Google Gemini to transcribe and understand the footage. The video file itself is uploaded only when you export it, clip it, post it, or ask Heavenly to watch and listen to it.
- We do not sell personal information, we do not show advertising, and we do not use your footage to train a shared model.
- Stripe handles card details. We never see a full card number.
- Social network access tokens are encrypted before they are stored, and are used only to do what you set up.
- You can delete conversations, projects and your whole account yourself, and you can ask us for anything else at hello@lenslab.dev.
3. What we handle
Each item below says what the information is, when Heavenly gets it, and where it is kept. Section 9 names the companies that store or process it, and section 12 says how long it stays.
Your age answer
Before setup, sign-in and the app, Heavenly asks how old you are. The number you type is checked in your browser and is not sent to us or stored. If you are 18 or older, your browser keeps a yes-or-no marker (a cookie and a local storage entry) so you are not asked again. If you answer under 18, nothing is recorded and Heavenly stays closed.
Setup answers given before you have an account
A new visitor answers four setup questions before paying: what you make, what the AI should do, the editors you use, and how often you publish. Until you create an account these answers exist only in your browser. The first time your new account opens the app, they are saved to the account and removed from the browser’s setup store.
Account
Name, email address, and sign-in. You can create an account with Google or with an email address and a password. If you continue with Google, we receive the name, email address and profile picture that Google shares; we do not receive your Google password. If you use an email address and password, our sign-in provider stores the password in hashed form and we cannot read it. Sign-in with Apple and with a phone number are not available yet. When they are, this policy will be updated before they are switched on.
When you sign up with an email address, a bot check from Cloudflare (Turnstile) can run on the form. It receives your IP address and browser signals to decide whether the request comes from a person.
Setup answers and your profile picture
First sign-in answers: what you make, what the AI should do, the editors you use, where you post, how often, and the plan suggested. They are stored with your account. A profile picture you add is stored by LensLab and shown through a link that works without signing in. The link contains your account id, which is a long random value that is hard to guess, but anyone who has the link can see the picture.
Creator profile
Creator profile: what you answer while your first video processes, or later in Settings: how you create, what you make, where you publish, your goal, how edits should feel, what clips should favor, your audience size, and how you heard about Heavenly. It is stored with your account and sets your clips’ defaults and the context Heavenly answers with. Audience size and how you heard about Heavenly are used only for analytics.
Footage in the editor
Footage in the editor stays in your browser while you cut. Its sound goes to Google Gemini in short pieces, through LensLab’s server, to write the transcript, which is kept in your browser. The picture is not sent for transcription. Transcription is on by default and can be turned off below the editor’s composer.
Footage understanding
Footage understanding, on by default: stills sampled from your cut, its sound, the transcript, and the timeline go to Google Gemini through our server to plan edits and make captions. The stills are small, but large enough to recognize a face. LensLab does not keep them. Turn it off below the editor’s composer.
Watch and listen
Watch and listen, only when you ask for it in a project: the whole file is uploaded to LensLab’s storage and to Google Gemini’s file service for a picture pass and a sound pass. We keep the summary, transcript, speakers, scenes and the sound and picture events it finds with the project. Speakers are labeled as they appear in that video (for example “Speaker 1”); Heavenly does not identify who a person is. Google deletes its copy of the file after about two days.
Exports
When you export an MP4, the source file is uploaded to LensLab’s storage and rendered by LensLab’s media service on Google Cloud. The media service reaches the file through a signed link that expires after a few minutes. Edit lists (EDL, FCPXML) and shot sheets are made in your browser and downloaded to your machine.
Clips
Clips: a video you upload, or the video behind a link you paste, is fetched to LensLab’s media service on Google Cloud and kept with the Clips project, with its previews and renders. Its sound goes to Groq to transcribe it (to Deepgram when Groq can’t), and its transcript to Google Gemini to find the best moments (to Groq when Gemini can’t). Where a YouTube link already has captions, those can be used instead. The transcript is kept with your account so the same video is not transcribed twice. When you paste a link, the site behind it receives a download request from LensLab’s media service, or from a network provider it uses, not from your browser. That request does not carry your name or account.
Dropbox and Google Drive: instead of uploading a video, you can pick one from your own Dropbox or Google Drive in that company’s own picker. From Dropbox, Heavenly receives the file’s name and size and a link to the file that Dropbox makes for you and that stops working after four hours. From Google Drive, Heavenly receives the file’s id, name, type, size and length, and a Google token that reaches only the files you pick and expires after an hour. LensLab’s server checks the file with that token, then seals the token, encrypted, inside the link the media service fetches the file through; it is not stored anywhere else and opens nothing once its hour is over. Either link is kept with the Clips project like a pasted link. The video is then handled as Clips describes above. Heavenly does not see, list or keep anything else in your Dropbox or Google Drive.
Saving a clip to Dropbox or Google Drive: a clip’s menu can save the exported clip to your own Dropbox or Google Drive. For Google Drive, your browser uploads the clip to Google as a new file in your Drive, named after the clip, with a Google token for the drive.file permission described below; that token goes from your browser to Google only, not to LensLab. For Dropbox, Dropbox’s own window lets you choose where the clip goes, and Dropbox then fetches it from a lenslab.dev link that opens only that clip and stops working after half an hour. The link is not stored anywhere. LensLab records that the clip was saved, as it does for a download.
Automations
Automations: for each YouTube channel you ask Heavenly to watch, its id and name, what to clip, the accounts and times to post to, and a record of each new upload found with the clips chosen from it and the posts they became. LensLab reads the channel’s public page and public upload feed from YouTube, without signing in and without anything about you. Each new upload is then clipped and posted on your account’s behalf exactly as Clips and the calendar above describe, by LensLab’s servers while you are away. If an automation stops on its own, we email the address on your account once to say so.
Twitch, only for your own channel and only if you set up a Twitch automation: Heavenly uses the Twitch sign-in you connected on the Integrations page. Besides posting to your chat (user:write:chat), it asks Twitch for channel:manage:clips, to make clips on your channel and download them, and user:read:broadcast, to read your stream markers. After each stream it reads your finished stream videos, the clips made of them (title, view count and where each sits in the stream) and your markers. At a marker it asks Twitch to make a clip, which appears on your Twitch channel like a clip you made yourself. Each chosen clip, at most a minute long, is downloaded through Twitch’s download feature and kept as a Clips project, like an upload, then clipped and posted as above. Heavenly never downloads a whole stream. Disconnecting Twitch on the Integrations page stops it.
Shared clip links
Shared clip links: when you choose Share link on a clip, the rendered clip and its title are uploaded to LensLab’s private storage. Anyone who has the link can watch that clip, without an account, until the link expires after 14 days or you choose Stop sharing. Stopping deletes the uploaded clip. Nothing else about you or your account is shown on the page.
Tracked links
Tracked links: if you add a link to a pipeline’s posts, Heavenly keeps your link and makes a short lenslab.dev address for each clip that goes to it. Following the short address sends the visitor to your link, with the tags utm_source, utm_medium and utm_content added. The only thing Heavenly stores about a visit is a count for that link and that day: no IP address, no browser details, no cookie and no account. Visits that are link previews, crawlers or prefetches are not counted. Our host still sees each request, as it does for every request to the site. The count is clicks, not people.
Stripe sales
Stripe sales, only if you press Connect Stripe: you either approve read-only access to your own Stripe account, in which case Heavenly keeps your Stripe account id, or you paste a restricted key you made in Stripe, in which case Heavenly keeps that key, encrypted. Heavenly checks the key before keeping it, and refuses one that can read more than Checkout Sessions, PaymentIntents and Charges. When you open Results, it reads your recent completed Checkout Sessions and keeps, for each one that came through a tracked link to a Stripe Payment Link, the amount, the currency, the time, the amount refunded and the link’s code. It does not read or keep the buyer’s name, email address, card or address. Disconnecting in Results, or from your own Stripe settings, stops the reading, and Heavenly deletes the sales it kept.
Chat and the editing agent
Chat: what you type to Heavenly and its answers are stored with your account and sent to Google Gemini to write each answer, along with the most recent messages of the same conversation for context. In the editor, the instructions you give the agent, the steps it takes and a log of the edits are stored with the project so the work can be continued and undone. You can delete a conversation.
Projects
A project’s title, description, visibility (private or public), editing history and the names of the people who worked on it are stored with your account. Section 10 explains what “public” means.
Social and the calendar
Social and Calendar: for each account you connect, an encrypted token and the account’s id and name, and the permissions that were granted. For each post you schedule, the caption, the video or images, the time, and the result. The media is copied to LensLab’s storage, and from there LensLab uploads it to the network, or the network fetches it through a link that expires. A record of each attempt to post (the time, the network and whether it worked) is kept without the caption or the token.
Other destinations
Heavenly can also post to other destinations listed on the Integrations page, such as Kick, Twitch, Telegram, Slack, Discord, Mastodon, Dribbble, Whop, DEV.to, WordPress, Tumblr and Google Business, to a web address of your own, and can read products from a WooCommerce store to draft a post. For these you give Heavenly a sign-in, a token, a key, an app password or a webhook address. It is stored encrypted and used only to send what you schedule or to read what you asked for.
Revenue
Revenue, only if you press Allow revenue access: YouTube’s estimated revenue for the last twelve months, kept as monthly totals on your Revenue page. Numbers you type in yourself are stored the same way.
Team
Team: the names, emails, and roles of people you invite, and the invite we email them. If our mail service can’t send it, our sign-in provider sends it and opens an account for that email. Invites expire after seven days. A team’s owner sees members’ names, emails and roles, and members see each other’s names on shared projects.
Billing
Billing: plan, billing cycle, status, renewal date, the Stripe customer and subscription ids, the email address the plan was bought with, and credit use (each action that used credits and how many). Card details are handled by Stripe on Stripe’s own page; LensLab never receives a full card number. If you pay before you have an account, the plan is held under the email address you gave Stripe and joins the first account that verifies that address. If you started setup from a Heavenly page such as an industry page, the short name of that page is recorded with the plan, so we can see which pages lead to a plan.
API tokens and the connector
When you create an API token or connect an outside tool through the Heavenly connector, we store a one-way hash of the token (not the token itself), its name, scope, expiry, and when it was last used, plus a count of the calls it made that spent credits. A tool you connect can read what the token’s scope allows, such as project details, timelines and transcripts. The connector does not give a tool your footage or your sign-in.
Messages you send us
Help: the topic, email, and message you send, and your account id when you are signed in. They are emailed to us, with a copy to you, and are not stored in Heavenly’s database. The sales page sends us your name, email, company and message by email. The text page sends the phone number and message you enter to us as a text message. We keep these in our mailbox or phone for as long as the conversation needs.
The feedback board
A feature request, bug report or comment you post on the feedback board, with any image you attach and your votes, is stored and shown to other Heavenly users.
Music recognition and search
If you use music recognition, a few seconds of sound from your video are sent to AudD to name the track. If you search for music, your search words are sent to Epidemic Sound.
Device and log data
Device and log data needed to run the site, such as IP address, browser, the page or API address requested, the time, and errors. Our host records these for every request, as every website’s host does. Our own server logs can also contain your account id next to an error or an account action, and for Clips a scrambled (hashed) form of the account id next to a start that failed.
When a Heavenly page hits an error, your browser sends our server a short error report: the error’s type, its message with web addresses, email addresses, file names, ids and codes removed, where in Heavenly’s code it happened, the page’s path with ids removed, the site’s version, and your browser’s name, version and operating system. It carries no account id, no footage and nothing you typed. It is written to our host’s logs, where it is kept like the request logs above. A page sends at most ten.
Analytics, only after Accept
After you Accept cookies: a visit record (the path and the referrer) and events sent to PostHog. They are app opened, sign-up completed, the creator survey’s steps (the question, the option picked or skipped, and how far your video had processed), and Heavenly’s steps from the home page to a post: viewing the home page, starting setup, choosing a plan, starting and completing Checkout, starting a clip job or a captioned video and its finishing or failing, starting an export and its finishing or failing, and scheduling or publishing a post. These carry only the plan, whether the video was uploaded or linked, whether the job made clips or a captioned video, whether an export was saved to Dropbox or Google Drive, lengths and durations, counts and the kind of error; never a file name, what you typed, a web address or an email address. An error on a Heavenly page is also sent as an error event with the error’s type and its cleaned message, as in the error report above. When you are signed in, the events are keyed by your account id. Before you have an account, they are keyed by a random id made when the page loads; it is kept only in the page’s memory, is gone when you leave or reload, and is not linked to the account you create later. The events are sent with IP address collection and location lookup switched off, so PostHog does not store your IP address with them, although, as with any internet request, PostHog’s servers see the address the request comes from. Reject sends nothing.
Information we get from others
From Google, your name, email address and picture when you sign in with Google. From Stripe, whether a payment succeeded, the plan, and the email address used; and, if you connect your own Stripe account, the sales described above. From each network you connect, the account’s id and name and the result of each post, and from YouTube the revenue totals if you allowed that. We do not buy information about you from anyone.
4. What stays in your browser
Heavenly keeps a good deal of working data in your own browser rather than on our servers: the project you are cutting, its plan and sequence, transcripts, sounds and overlays you added, your calendar notes, drafts, the message you are typing, your theme and layout choices, and whether each of the switches in section 14 is on. This data stays in that browser on that computer. It is not included when you sign in on another device, and clearing your browser’s site data removes it. The Cookie Policy lists every item by name.
Your signed-in session is also kept in your browser’s local storage, not in a cookie.
5. Why we use it
| Purpose | What it uses | Legal basis where the GDPR applies |
|---|---|---|
| Run the account and the site | Account, setup answers, device and log data | Contract, Art. 6(1)(b), and legitimate interests, Art. 6(1)(f), for security logs |
| Check that you are an adult | Your age answer (kept only as a yes-or-no marker in your browser) | Legitimate interests, Art. 6(1)(f): keeping minors out of a paid product |
| Transcribe, understand, clip, and render your footage, and read text aloud | Footage, sound, stills, transcripts, chat, text read aloud | Contract, Art. 6(1)(b) |
| Tailor answers and defaults to you | Setup answers and creator profile | Contract, Art. 6(1)(b) |
| Learn which clips creators keep, to choose better clips for you and for everyone | The record of what you do with suggested clips, while Learn from edits I keep is on | Legitimate interests, Art. 6(1)(f); you can object by turning the switch off |
| Post to the accounts you connect, when you schedule it | Tokens, account ids and names, captions, media | Contract, Art. 6(1)(b) |
| Read YouTube revenue after you allow it | Revenue totals | Consent, Art. 6(1)(a) |
| Bill a plan you buy, count credits, keep tax and accounting records | Billing details | Contract, Art. 6(1)(b), and legal obligation, Art. 6(1)(c) |
| Show which clips earned sales | Your Stripe account id or restricted key, and the sales read through your links | Consent, Art. 6(1)(a): you connect it, and can disconnect it |
| Run teams and send invites | Names, emails, roles | Contract, Art. 6(1)(b), and legitimate interests, Art. 6(1)(f), for the invited person |
| Answer Help, sales and text messages | What you send us | Legitimate interests, Art. 6(1)(f) |
| Keep the service secure, prevent abuse, and limit request rates | Device and log data, bot check | Legitimate interests, Art. 6(1)(f) |
| Optional visit and product analytics | Visit record and PostHog events | Consent, Art. 6(1)(a) |
| Comply with the law and respond to lawful requests | Whatever the request lawfully covers | Legal obligation, Art. 6(1)(c) |
Where we rely on consent, you can withdraw it at any time: use Privacy choices in the footer for analytics, and disconnect YouTube revenue on the Revenue page. Withdrawing consent does not undo what was done before. Where we rely on legitimate interests, you can object (see section 15). We do not make decisions about you by automated means that have a legal or similarly significant effect on you.
6. AI processing
Heavenly’s AI features run on Google’s Gemini models, and Clips also on Groq and Deepgram. Gemini, Groq and Deepgram are the only model providers that receive your content from Heavenly; ElevenLabs, which makes the sound effects you describe in the editor, receives only that description; Pexels and Pixabay, the stock footage libraries Clips draws B-roll from, receive only short search phrases. Here is everything that is sent to them, and when:
- Transcription (on by default): the sound of your video, in pieces of about half a minute.
- Footage understanding (on by default): up to a couple of dozen small stills from your cut, a loudness profile, for short cuts the sound itself, the transcript, and the timeline.
- Watch and listen (only when you ask): the whole video file.
- Clips: the sound of the video, to Groq (to Deepgram when Groq can’t), and then excerpts of its transcript to rank the best moments, to Gemini (to Groq when Gemini can’t), with the video’s title and, once you have told Clips what was wrong with a clip, those lines of yours, so the next video is ranked with them in mind. For B-roll, the cutaway footage laid over a clip, each clip’s sentences go to Gemini (to Groq when Gemini can’t) to name the few phrases a camera could show; a search of two to five words for each, chosen by the model and never a sentence of yours, then goes to Pexels and Pixabay, the stock footage libraries, to find it. They receive no sound, no footage and nothing that identifies you.
- Chat: your message, the recent messages of that conversation, and the project context needed to answer.
- Captions and post text: the transcript or description you are working from.
- Text to speech (only when you tap Read aloud on a text in the editor): the words of that text and the voice you chose. The voice that comes back is added to your project in your browser.
- Sound effects (only when you tap Generate on the editor’s soundboard): the description you typed and the length you chose, to ElevenLabs. It receives no footage, no sound of yours and nothing that identifies you. The sounds that come back are kept in your browser, and on your soundboard if you add one.
Your footage is yours. We do not use your footage to train a shared model, and we do not let anyone else do so on our behalf. Every request Heavenly sends to Gemini asks Google not to store the exchange (text to speech goes to Gemini’s speech endpoint, which keeps no exchange), and LensLab uses the paid Gemini service, whose terms govern how Google handles the content. The whole-file upload used for watch and listen is deleted by Google after about two days. Groq keeps no copy of what it receives, except that it may keep one for up to 30 days to troubleshoot a failure or investigate abuse; Groq’s terms govern how it handles the content. Every request Heavenly sends to Deepgram opts out of Deepgram’s model improvement program, so Deepgram keeps the sound only as long as it takes to transcribe it and does not use it to train its models; Deepgram’s terms govern how it handles the content. ElevenLabs keeps the descriptions it receives and the sounds it makes under its own terms and privacy policy.
Heavenly does remember your own preferences, such as the editing style you choose, examples you mark as good, and your creator profile, and uses them to tailor its results for your account only.
While Learn from edits I keep is on (in Settings; it starts on), Heavenly also keeps a record of what you do with each clip it suggests: whether you previewed, kept, removed, edited, downloaded, exported, scheduled or posted it, with where it starts and ends in the video, the scores Heavenly gave it, and measurements such as how fast the speech is or whether laughter was heard. The record holds no footage, no transcript text and no face expression readings, and a post’s views and likes are not added to it. Heavenly uses it to tailor clips to you and, combined with other creators’ records, to improve how it chooses clips for everyone. What you type after a thumbs-down (“What was wrong?”) is kept in your own words as a note: shown under the switch in Settings, removable there one by one, sent to Gemini with the next video’s ranking request, and cleared with the rest when you reset learning. Turn the switch off and nothing you do after that is learned from, and what you did before is no longer learned from either. Deleting a project removes its record.
Because footage shows and records people, Gemini may process faces and voices that appear in it in order to describe a scene or label who is speaking within that video. Heavenly does not use this to identify a person by name, does not build face or voice profiles, and does not match a face or voice across videos or accounts. You are responsible for people who appear in footage you use.
To choose a video’s clips, Heavenly’s own software on LensLab’s servers, with no outside company involved, listens to the video’s sound for moments such as laughter, crying, screaming, cheering and applause, and reads the expressions on faces in the clips it is considering: whether a face looks happy, sad, surprised, afraid or angry, and how heightened it is. These readings are used only to choose and rank that video’s clips and are kept with its other analysis, never in the record of what you do with clips. They are not used to identify anyone, are not combined across videos or accounts, and are not used to build profiles of people.
If you connect an outside AI assistant to Heavenly through the connector, that assistant’s maker receives what you let it read. That is your arrangement with that company.
7. Google and YouTube
Heavenly uses YouTube API Services. When you connect a YouTube channel, Heavenly asks Google for permission to upload the videos you schedule (youtube.upload) and to read the channel’s id and title, so it can show which channel is connected (youtube.readonly). It also asks for read-only access to the channel’s analytics (yt-analytics.readonly), to read views, watch time and subscribers gained for the videos Heavenly posted for you. Only if you press Allow revenue access does it also read the channel’s estimated revenue (yt-analytics-monetary.readonly). It uses this data only for those features. It does not sell it, use it for advertising, or share it with anyone except the service providers in section 9 that run those features.
What Google does with your data is covered by the Google Privacy Policy. Disconnecting YouTube in Heavenly deletes the stored token and the revenue read through it; numbers you typed in yourself stay. To revoke Heavenly’s access on Google’s side too, use Google’s security settings.
Heavenly’s use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.
In practice that means: information received from Google’s APIs is used only to provide the features you see in Heavenly; it is not transferred to others except as needed to provide those features, to comply with the law, or as part of a merger or sale with notice to you; it is not used for advertising; and people at LensLab do not read it unless you ask us to for support, it is needed for security, or the law requires it.
When you choose a video from Google Drive or save a clip there, Heavenly asks Google for the drive.file permission, which reaches only the files you pick in Google’s Picker and the files Heavenly creates, not the rest of your Drive. Heavenly uses it only to read the picked file’s name, type, size and length, to fetch that file for Clips, and to upload a clip you save as a new file. The permission lapses after an hour. To revoke it sooner, use Google’s security settings.
When you sign in with Google, Heavenly asks only for your basic profile (name, email address and picture). On some pages Heavenly shows YouTube videos using YouTube’s privacy-enhanced player, which does not set YouTube cookies until you play the video.
8. TikTok and the other networks
When you connect TikTok, Heavenly reads your TikTok id and display name (user.info.basic). Before each post it asks TikTok for your name, username, and the privacy settings your account allows, to show them in the composer, then uploads and posts the video (video.publish) with the caption, privacy, and disclosure you choose. It also asks for video.list, to read the view, like, comment and share counts of the videos Heavenly posted for you. Until TikTok approves Heavenly’s app, TikTok keeps those posts private to you.
The other networks work the same way: an encrypted token, the account’s id and name, and the posts you schedule. The permissions Heavenly asks each network for are:
| Network | Permissions asked for | Used to |
|---|---|---|
| YouTube | youtube.upload, youtube.readonly, yt-analytics.readonly; yt-analytics-monetary.readonly only if you allow revenue | Upload scheduled videos, show the connected channel, read performance figures, read estimated revenue |
| TikTok | user.info.basic, video.publish, video.list | Show the connected account, upload and post scheduled videos, read counts for the videos posted |
| Instagram (business and creator accounts) | instagram_business_basic, instagram_business_content_publish, instagram_business_manage_comments, instagram_business_manage_insights | Show the connected account, publish scheduled posts, and read comments and performance figures on your posts |
| Facebook Pages | pages_show_list, pages_read_engagement, pages_manage_posts | List the Pages you manage and publish scheduled posts to the one you pick |
| Threads | threads_basic, threads_content_publish | Show the account and publish |
| openid, profile, w_member_social; organization posting permissions where LinkedIn has approved them | Show the account and publish to your profile or a page you administer | |
| X | tweet.read, tweet.write, users.read, offline.access, media.write | Show the account, upload media and publish |
| Pinterest, Bluesky | The posting access each one offers; for Bluesky, your handle and an app password you create | Show the account and publish |
Disconnecting a network in Heavenly deletes its stored token. It does not remove posts that already went out. To revoke the grant on the network’s side too, remove Heavenly from the apps connected to that account in the network’s own settings. What each network does with your posts and your account is covered by that network’s own privacy policy.
9. Who else handles it
These companies store or process information for LensLab so Heavenly can run. Each receives only what its job needs.
| Company | What it does for Heavenly | What it receives |
|---|---|---|
| Cloudflare | Hosts lenslab.dev, runs the server, the main database, file storage, the posting queue, Help email, and the sign-up bot check | Every request to the site (including IP address); chat, projects, editing history, setup answers, creator profile, teams, billing records, credit use, revenue totals, API token hashes, profile pictures, post copies |
| Google: Gemini | Transcribes, understands footage, finds clips, answers chat | Sound, sampled stills, transcripts, chat messages, and whole files for watch and listen |
| Groq | Transcribes videos you clip, and finds clips when Gemini can’t | The sound of a video you clip, and excerpts of its transcript |
| Deepgram | Transcribes videos you clip when Groq can’t | The sound of a video you clip |
| ElevenLabs | Makes the sound effects you describe in the editor | The description you typed and the length you chose |
| Google: Google Cloud | Runs LensLab’s media service and the Clips server (in the United States) | Files you export or clip, the videos behind links you paste, previews and renders |
| Google: YouTube and Google sign-in | Sign-in, uploading to your channel, revenue | What you post to YouTube; the sign-in request |
| Supabase | Sign-in, encrypted social tokens, scheduled posts, watch-and-listen results, and storage for uploads, exports and post media | Account name, email, hashed password, session; the items listed |
| Stripe | Payments, invoices and receipts | Name, email, billing address, card details, plan, your account id |
| PostHog | Product analytics, only after Accept | Account id or a random id for one page visit, and the events in section 3 |
| Resend | Team invites, the welcome, clips-ready and captioned-video-ready emails, support replies, and email copies of what you send from the sales and text pages | Email addresses, names, the message |
| Sendblue | Delivers messages from the Heavenly text page to us as a text | The phone number and message you enter |
| AudD and Epidemic Sound | Music recognition and music search | A few seconds of sound, or your search words |
Information also goes to:
- The networks you connect. The networks you connect receive what you post. The site behind a link you paste receives a request from our server.
- Dropbox and Google Drive. When you pick a video there, that company receives a request from our server for that one file. When you save a clip there, that company receives the clip: Google from your browser, Dropbox from our server when Dropbox asks for it.
- Your team. People in your team see the projects you share with them, and the owner sees members’ names, emails and roles.
- Tools you connect. An outside tool you give an API token to receives what the token allows.
- Authorities. We disclose information when a law, court order or other binding legal process requires it, and only what it requires. Where we are allowed to, we tell you first.
- A buyer. If Heavenly or LensLab is sold or merged, account information moves to the new owner, who must keep to this policy or ask you again. We will tell you before that happens.
- Advisers. Our accountants and lawyers may see billing or dispute records when their work requires it, under a duty of confidentiality.
We do not give your information to advertisers or data brokers.
10. What other people can see
- Public projects. A project is private unless you set it to public. A public project is listed to other signed-in Heavenly users with its title, description and your name.
- The feedback board. Requests, images and comments you post there are visible to other users, and stay there after your account is deleted.
- Your profile picture. It is reachable through a link that works without signing in.
- A tracked link. Anyone who sees your post sees the short address, and following it shows the page it goes to.
- What you post. A post Heavenly publishes for you is as public as the network and the privacy setting you chose make it.
11. Where it is processed
LensLab operates this site from the United States, and the companies in section 9 process information in the United States and in other countries where they run their services. Cloudflare serves the site from data centers around the world, so a request is first handled near where you are. LensLab’s media service and Clips server run in a Google Cloud region in the western United States.
If you are in the EEA, the UK or Switzerland, your information is therefore transferred to the United States, whose laws are different from yours. Where the law requires a safeguard for such a transfer, LensLab relies on the European Commission’s Standard Contractual Clauses, with the UK and Swiss additions where they apply, or on a provider’s certification under the EU-U.S. Data Privacy Framework where the provider holds one. Email hello@lenslab.dev before you create an account if you need the safeguard used for a transfer from the EEA, the UK, or Switzerland, or a copy of it.
12. How long we keep it
Account data lasts while the account is open. Things you make are kept until you delete them where Heavenly offers it, or until the account ends. The table gives the detail.
| Information | How long it is kept |
|---|---|
| Account, setup answers, creator profile, profile picture | Until you delete the account |
| Projects, editing history, watch-and-listen results, exports | Until you delete the project or the account |
| Clips projects: the video, previews and renders | Until you delete the Clips project or the account. Deleting a Clips project removes its video, previews, and renders |
| A Clips upload that never finished | Expires after a day |
| The link to a video you picked from Dropbox or Google Drive | Kept with the Clips project; it stops opening the file after four hours (Dropbox) or an hour (Google Drive) |
| The link Dropbox fetches a clip you save there from | Not stored; it stops opening the clip after half an hour |
| Clips transcripts kept so a video is not transcribed twice | Until you delete the account |
| Automations: the channel, their settings, and the uploads, streams and clips they found | Until you delete the automation or the account. Posts they scheduled stay with your scheduled posts |
| Tracked links and their daily click counts | Until you delete the account |
| Your Stripe account id or restricted key, and the sales read through your links | Until you disconnect Stripe, or delete the account |
| Shared clip links and the clip uploaded for each | 14 days, or until you stop sharing, or until you delete the account |
| Chat conversations | Until you delete the conversation or the account; deleting a conversation removes its messages |
| The whole-file copy Google holds for watch and listen | Deleted by Google after about two days |
| A request Groq keeps to troubleshoot a failure or investigate abuse | Deleted by Groq within 30 days |
| The sound of a video Deepgram transcribes | Kept by Deepgram only as long as it takes to transcribe it |
| A sound effect description and the sounds ElevenLabs makes from it | Kept by ElevenLabs under its own terms |
| Scheduled posts and their results | Until you delete the account. A post whose upload never finished is cancelled after a day |
| Post media in the staging storage used before posting | Removed within a week after the post is settled |
| The copy of post media that LensLab’s publishing storage keeps as a record of what was posted | Until you delete the account |
| Social and integration tokens | Until you disconnect, or delete the account |
| Performance figures read from YouTube, TikTok, Instagram and X for videos Heavenly posted | Up to six days after they are read, then replaced by a fresh reading |
| YouTube revenue totals | Until you disconnect YouTube, or delete the account |
| Team invites | Seven days, then they expire |
| API tokens | Until they expire (90 days by default, one year at most) or you revoke them |
| Billing records (plan, dates, Stripe ids, email) | Kept after the account is deleted, for as long as tax and accounting law requires. Stripe keeps its own payment records under its policy |
| Records of Clips starts that failed (with a scrambled account id) | 30 days |
| Technical traces of Clips processing (codes and numbers, no content) | 90 days |
| The record of what you do with suggested clips | Until you delete the project or the account |
| Server and host logs | For the short period our host keeps request logs; we do not copy them elsewhere |
| Feedback board posts, images and comments | They stay after the account is deleted |
| Help, sales and text messages | In our mailbox or phone while the conversation needs them |
| Analytics events in PostHog | Under PostHog’s retention for the project; write to us to have yours removed |
| Data in your browser | Until you clear it; see the Cookie Policy |
13. Deleting your account
You can delete your account from Settings. You are asked to type the account’s email address to confirm. Deletion does the following, in this order:
- Cancels every paid LensLab plan on the account right away, including a Daydreamers plan bought with the same email address.
- Removes your Clips projects, videos, previews and renders from the Clips server.
- Deletes your sign-in.
- Removes your Heavenly data: chat, projects and editing history, setup answers, creator profile, drafts, credit records, revenue totals, API tokens, connections and tokens, team memberships and invites, your profile picture, your uploads and exports, and the stored copies of posts.
After you delete your account, or ask us to at hello@lenslab.dev, we remove the personal data we hold within 30 days, except records the law tells us to keep, such as a bill. Some things are not removed, and you should know about them before you delete:
- Billing records, and the customer record Stripe holds.
- What you posted on the feedback board.
- Posts that already went out to a social network. Delete those on the network.
- Edits and comments you made inside a project that belongs to someone else’s team. They are part of that project.
- Data in your browser. Clear your browser’s site data for lenslab.dev to remove it.
- Daily backups of the Clips server keep a copy of your projects for 7 days. Deleting a project, or your account, removes it from the live server right away. A backup copy can remain for up to 7 days, and is then deleted.
If you own a team that still has other members, you must remove them before the account can be deleted. If part of the removal fails, it is flagged to us and finished by hand. Files on your machine are yours to keep or erase.
14. Your controls
- Transcription, footage understanding and watch and listen each have their own switch or prompt in the editor. Turning one off stops that kind of sending; the rest of the editor keeps working.
- Analytics: Accept or Reject on the banner, and Privacy choices in the footer to change your mind.
- Connected accounts: disconnect any network on the Social page.
- YouTube revenue: allow it or not, separately from posting.
- Stripe sales: connect or disconnect your Stripe account in Results. A restricted key you pasted is also yours to delete in Stripe.
- Conversations, projects, Clips projects, drafts: delete each from where it is listed.
- API tokens: revoke any token in Settings.
- Profile: change your name, picture and creator profile in Settings.
- Email: we send only service email (receipts from Stripe, invites, a welcome when your plan starts, a note when clips or captioned videos finish while you are away, security and account notices, replies to you). That note has a link that turns it off. To send each note once, we keep which notes went out, that choice, and the ids of clip jobs we saw running; deleting the account removes them. There is no Heavenly marketing newsletter to unsubscribe from.
- Account: delete it in Settings.
15. Your rights
Europe, the UK, and Switzerland
You can ask to access, correct, delete, export, or restrict your data, object to legitimate-interest processing, and withdraw consent. Email hello@lenslab.dev with the subject “Privacy rights”. We respond within one month, longer only when the request is complex and the law allows it. You can also complain to your local authority.
In more detail, you have the right to:
- know whether we hold information about you and receive a copy of it;
- have wrong or incomplete information corrected;
- have your information erased, subject to what the law requires us to keep;
- have its use restricted while a question about it is settled;
- receive the information you gave us in a common machine-readable format, or have it sent to another service where that is technically possible;
- object to use that rests on our legitimate interests; and
- withdraw a consent you gave.
Heavenly does not yet have a single “download everything” button. Much of your work can be downloaded from the product (renders, edit lists, transcripts), and we will send the rest on request.
United States
Residents of California and of other states with similar laws have the right to know what personal information we collect, use and disclose, to get a copy, to correct it, and to have it deleted, and the right not to be treated worse for using these rights. We do not sell personal information, and we do not share it for cross-context behavioral advertising. We use sensitive information, such as your account sign-in, only to provide the service. The categories we collect are the ones in section 3: identifiers, commercial information, internet activity, audio and visual information, and the inferences in your creator profile.
Everyone
Write to hello@lenslab.dev from the email address on your account. If we cannot tell that a request comes from the account holder, we will ask for something more before acting, so that nobody else can get or delete your data. You may use an agent, with written proof that they act for you. We do not charge for a request unless it is clearly excessive. If we decline a request, we will say why and how to appeal.
If your request is about personal information that appears in someone else’s footage or team, we will pass it to that account holder, who decides about it, unless the law requires us to answer directly.
16. Security
Report a security problem to hello@lenslab.dev. We do not claim SOC 2, ISO 27001, or any other certification. Everything travels over HTTPS. Uploaded footage and renders sit in private storage: your signed-in account reaches them, and LensLab’s media service and the networks you post to reach them only through signed links that expire. Social network tokens are encrypted before they are stored. Stripe holds card numbers; we do not.
Other measures in place:
- Every Heavenly request is checked against your signed-in session on the server, and every database query is limited to the account that owns the data.
- Passwords are stored hashed by our sign-in provider. API tokens, connector tokens and invite links are stored only as hashes.
- Tokens for connected accounts are encrypted with AES-256-GCM and tied to the account that owns them.
- Stripe’s messages to us are verified by their signature before we act on them.
- Sign-ins to other services use single-use, short-lived codes.
- Chat, transcription, Help messages and automated calls are rate-limited.
- Team roles (admin, editor, viewer) limit what each member can open and change.
- The site sends security headers that block it from being framed by other sites and restrict where scripts can load from.
No system is perfectly secure. If we learn of a breach that affects your personal information, we will tell you and the authorities as the law requires. Keep your password and tokens private, and keep your own copy of your footage.
17. Children
Heavenly is not for anyone under 18, and we do not knowingly collect personal information from anyone under 18. If you believe a minor has an account, write to hello@lenslab.dev and we will close it and delete its data. Footage may show minors; the person who uploads it is responsible for having the right to use it.
18. Selling, advertising and cookies
We do not sell personal information. We do not set an advertising cookie. Analytics run only after Accept. The choice is stored in a cookie named celinen_consent for one year (SameSite=Lax). Older cookies named golden_consent and foto_consent are still read if they are present. The app keeps drafts, transcripts, and settings in your browser’s local storage. Details are in the Cookie Policy.
19. Changes to this policy
When Heavenly changes what it does with information, this policy changes first or at the same time, and the date at the top changes with it. If a change is significant, for example a new kind of information or a new company receiving it, we will also tell you by email or in the app before it takes effect. Earlier versions are available on request.
20. Contact
LensLabs LLC · Heavenly · lenslab.dev/heavenly · hello@lenslab.dev
Use the subject “Privacy rights” for a request about your data, “Security” to report a vulnerability, and “Copyright” for a copyright complaint.
