Last updated 19 October 2026
This policy covers cookies and similar storage on Heavenly pages (paths starting with /heavenly), operated by LensLabs LLC (“LensLab”). “Cookies” here includes local storage used for the same job. It names every item Heavenly puts in your browser, says what each one is for and how long it lasts, and explains how to refuse the ones you can refuse.
1. What this covers
The short version: Heavenly sets a handful of small cookies that it needs to work, keeps your working data in your browser’s storage, and runs analytics only if you press Accept. It sets no advertising cookie and lets no advertiser set one.
When a Heavenly page loads, LensLab’s server does not send any cookie. Every item below is written only after something you do: choosing Accept or Reject, signing in, connecting an account, or using the editor.
2. Cookies and similar storage, briefly
- A cookie is a small named value a site stores in your browser. Your browser sends it back to that site with each request until it expires.
- Local storage is a larger store in your browser that only the site’s own pages can read. It is not sent with requests, and it stays until it is cleared.
- Session storage is the same, but it empties when you close the tab.
- IndexedDB is a browser database for larger items such as audio files.
- First-party means set by lenslab.dev. Third-party means set by another company’s site.
- Strictly necessary items are needed for something you asked for, so the law does not require consent for them. Preference items remember a choice you made. Analytics items measure use and need your consent.
3. The cookies we set
These are all the cookies Heavenly itself sets. All are first-party.
| Name | Set when | What it holds and why | Kind | Lasts |
|---|---|---|---|---|
celinen_consent | You press Accept or Reject on the banner | The word accepted or rejected. It remembers the analytics choice, so the banner is not shown again and analytics stay off unless you accepted. SameSite=Lax. Path=/ | Strictly necessary | One year |
heavenly_age | Legacy marker from an older Heavenly version; no longer written or required | An older version stored the value 1, never your age. This marker is no longer read. SameSite=Lax, and Secure | Strictly necessary | One year |
celinen_in | You sign in. It is removed when you sign out | The value 1. A hint that this browser has a signed-in session, so pages can draw the right layout straight away. It holds no account id and is not what signs you in. SameSite=Lax | Strictly necessary | One year |
__Host-hv_kick_oauth, __Host-hv_twitch_oauth | You start connecting a Kick or Twitch account | A one-time value that ties the answer from that service to the request you started, so nobody can connect an account to yours by trickery. HttpOnly, Secure, SameSite=Lax | Strictly necessary | Ten minutes |
Older names, golden_consent and foto_consent, are still honored if your browser has them: Heavenly reads them as your analytics choice but no longer sets them.
Signing in does not use a cookie. Your signed-in session is kept in local storage (next section). If you use Daydreamers with the same account, its workspace may set a seven-day preference cookie named sidebar_state that remembers whether its sidebar is open. Heavenly does not read it.
4. Local storage
Local storage holds drafts, transcripts, the message you are typing, and settings such as whether footage understanding is on. It stays in this browser, and the app needs it to work. Where a name ends in a scope, the entry is kept separately for each account that has used this browser. None of these has an expiry date, except where noted: they stay until you clear your browser’s site data for lenslab.dev.
| Name | What it holds | Kind |
|---|---|---|
sb-…-auth-token | Your signed-in session, written by our sign-in provider’s library: the tokens that prove who you are. Removed when you sign out | Strictly necessary |
celinen.signed-in | The same signed-in hint as the celinen_in cookie | Strictly necessary |
heavenly.age.ok | Legacy marker from an older Heavenly version, no longer read or written | Strictly necessary |
heavenly.plan-live | A hint that your plan is active, so the app does not flash the pricing page while it checks. Refreshed at most every twelve hours | Strictly necessary |
heavenly.setup.guest.v1 | Your answers to the setup questions before you have an account. Removed once they are saved to your account | Strictly necessary |
heavenly.setup.from.v1 | The Heavenly page you started setup from, such as an industry page, if you came from one. It is recorded with the plan you buy so we can see which pages lead to a plan. It holds the page’s short name and nothing about you. Removed with the setup answers | Preference |
heavenly.transcribe-consent.v2, heavenly.gemini-edit-consent.v2, heavenly.media-analysis-consent.v1 | Whether transcription, footage understanding, and watch and listen are switched on for this account in this browser | Preference |
heavenly.project.v1, heavenly.plan.v1, celinen.video-sequence.v1, heavenly:cloud-project | The project you are cutting: its timeline, edit plan and the link to its saved copy | Strictly necessary |
heavenly.transcripts.v1, heavenly.media-index.v1 | Transcripts of your footage and the index of what watch and listen found | Strictly necessary |
heavenly.edit-rules, heavenly.clips.options.v1, heavenly.sounds.library.v1, heavenly.soundboard.mine.v1 | Your editing rules, Clips settings, the list of sounds you added, and the sounds on your soundboard, including ones you generated | Preference |
heavenly.calendar.tasks.v1, heavenly.calendar.events.v1, heavenly.calendars.v1 | Calendar notes and events you added in this browser | Strictly necessary |
heavenly.creator-profile.outbox.v1 | Creator profile answers waiting to be saved if you were offline | Strictly necessary |
heavenly.theme.v1, lenslabs-theme, lenslabs.appearance-boot.v1, heavenly.door.accent | Light or dark, and the accent color you picked | Preference |
heavenly.dashboard.rail.v1, heavenly.dashboard.rail.width.v2, heavenly.dashboard.rail.chat.v2, heavenly.recents.archived-open.v1, heavenly.moments.folder | Layout: whether the menu is open, its width, and which lists are expanded | Preference |
heavenly.tour.v1, heavenly-analytics-welcome, heavenly.creator-survey.later.v1 | Where you are in the guided tour, and which one-time messages you have already seen or postponed | Preference |
heavenly.projects.archived.project, heavenly.projects.archived.vlog | Which of your projects and vlogs you have archived, so they stay hidden in this browser | Preference |
lenslabs.preferences.v1, lenslabs.avatar.v1 | Account preferences shared with Daydreamers (such as which key sends a message) and a small copy of your profile picture | Preference |
5. Session storage
These are kept only until you close the tab. They carry you through a step that leaves the page and comes back.
| Name | What it holds |
|---|---|
heavenly.pending-chat-prompt | The message you typed on the landing page, so it is waiting for you after setup |
heavenly.billing.return, heavenly.invite.return | The page to return to after checkout, or after accepting a team invite |
heavenly.oauth.return, heavenly.oauth.popup, heavenly.oauth.failure | Where to return after connecting a social account, and whether that connection failed |
heavenly.vlog.autorun | That a project should start its first pass once it opens |
heavenly.feedback.intent, heavenly.changelog.focus, heavenly.changelog.restore, heavenly.changelog.scroll | Your place on the feedback board and the changelog |
lenslabs.settings-return | The page to return to when you close Settings |
6. Files kept in your browser
The editor keeps sounds and overlays you add in two browser databases, heavenly-sound-files and heavenly-overlay-files, so they are there the next time you open the project. They are your files, they stay in this browser, and clearing site data removes them. A third database, lenslabs-consented-product-milestones-v1, belongs to Daydreamers and is used only after Accept.
7. Analytics
After Accept, the browser sends the page path and the referrer to /api/public/traffic. It also sends events to PostHog, with no IP address and no PostHog cookie: app opened, sign-up completed, the creator survey’s steps (the question, the option picked or skipped, and how far your video had processed), Heavenly’s steps from the home page to a post (viewing the home page, starting setup, choosing a plan, starting and completing Checkout, a clip job or a captioned video starting and finishing or failing, an export starting and finishing or failing, and a post scheduled or published, with 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, counts and the kind of error), and errors on Heavenly pages (the error’s type and its message with addresses, file names, ids and codes removed). It does not send the video file, a file name or anything you typed. Reject sends neither. The site still works.
Four details, so nothing is left out:
- 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. That id lives only in the page’s memory: it is not written to a cookie or to storage, it is gone when you leave or reload, and it is not linked to the account you create later.
- “With no IP address” means the events tell PostHog not to record your IP address or look up your location, and not to create a person profile from them. PostHog’s servers, like any server, still see the address a request arrives from.
- The visit record carries no account id. LensLab does not build a profile from it and does not currently keep it beyond the server’s own request logs.
- Heavenly does not load PostHog’s script. It sends each event as a single request, which is why no PostHog cookie or storage entry exists in your browser.
The banner appears on the public Heavenly pages. Inside the signed-in app there is no banner; the choice you made on the public pages applies there, and until you make one, nothing is sent.
8. Other companies
A few steps take you to, or load something from, another company. Those companies set their own cookies under their own policies, on their own sites:
- Stripe. Checkout and the billing portal are pages on Stripe’s own site. Stripe sets cookies there to process the payment and prevent fraud.
- Google and the social networks. Signing in with Google, or connecting a network, opens that company’s own sign-in page.
- Dropbox and Google Drive. Choosing a video from Dropbox or Google Drive in Clips, or saving a clip there, opens that company’s own window. Its script loads from Dropbox or Google only when you reach for that button or open a clip’s menu, not with the page.
- Cloudflare Turnstile. The sign-up form can show Cloudflare’s check that you are a person. It runs in a frame from Cloudflare.
- YouTube. Where a page shows a YouTube video, it uses YouTube’s privacy-enhanced player (youtube-nocookie.com), which does not set YouTube cookies unless you play the video.
Heavenly loads its own fonts and scripts from lenslab.dev, apart from the Dropbox and Google Drive scripts above. It does not load a font, a tag manager, a chat widget or a social “like” button from another company.
9. What we do not set
No third-party advertising cookie. No sale of personal information. No cross-site tracking pixel. No fingerprinting of your browser to recognize you without a cookie. The short links in a creator’s posts set no cookie and store nothing about the visitor but a count.
10. Your choice
Use Reject or Accept on the banner, or Privacy choices in the footer. You can change your mind at any time there; the new choice applies from the next page you open. You can also block cookies and site storage in the browser. Blocking storage for lenslab.dev stops sign-in.
- Reject, or do nothing: no analytics. Everything else works.
- Block all cookies in your browser: the consent banner can come back on each visit, because Heavenly cannot remember your choice.
- Block or clear local storage: you are signed out, and drafts, transcripts, sounds and settings kept in this browser are lost. Work saved to your account is not affected.
- Browser “Do Not Track” or Global Privacy Control: analytics are already off unless you press Accept, and we do not sell or share personal information, so there is nothing further for the signal to switch off.
11. Changes
When Heavenly adds, renames or removes something in these lists, this page changes with it and the date at the top changes. If we ever add a kind of item that needs your consent, the banner will ask again.
12. Related pages
Privacy Policy · Terms of Service · Data Processing Addendum · hello@lenslab.dev
