Privacy policy
Last updated: 13 October 2026
This policy explains what data Mosso collects, why, and what you can do about it. Mosso is run by Lorenzo Nicolini, the data controller. Questions: hello@mosso.video. His postal address and tax number are in the legal notice.
Mosso is free. Data protection law still applies. This policy covers the website, editor, accounts and support. We do not sell your data or show advertising. Accounts are for people aged 16 or older.
Data, sources and legal bases
A legal basis is the reason data protection law lets us use personal data. A contract means providing the service you ask for, even when it is free. Legitimate interests means a specific business need, weighed against your rights.
Account and sign in
You give us your email address and, optionally, a display name. Supabase handles email codes, optional passwords, session tokens, account identifiers and sign-in records. If you choose Sign in with Google, Google supplies an account identifier, email address and available profile information, such as your name and picture. We use this to create, secure and operate your account and send account messages. The basis is our contract with you. Security checks and abuse prevention also serve our legitimate interest in protecting accounts and preventing spam.
Library downloads and the daily counter
Library downloads use your account and our server to provide the file and apply the limit of 50 library downloads a day. We receive the requested item and format, and any text, colour preset and background choice you send to customise it. The server uses those choices to generate the requested file. A download in a brand read from your website is made in your browser instead, and the server only receives the item and format to count it. The daily counter stores your account identifier, the day and the number of download requests, not the downloaded file or a list of its contents. It resets for the next day at midnight UTC; older daily records are not automatically erased. The basis is our contract with you. Separate request limits protect the service against abuse under our legitimate interests.
Exports and free tools
The editor creates exports on your device. The free Lottie tools process the files you open locally. We do not receive those files just because you convert or export them. Opening an account project also uses its stored cloud copy. When usage measurement is enabled, a successful app export sends an export event without the file or its contents. A failed export can produce an error report, as explained below. Local processing needed for your requested export is part of our contract with you.
Saved projects and uploaded files
Local projects stay in your browser. When you save to your account, we receive your project content, names, thumbnails, brand kits, uploaded images and other project assets, along with creation and update times. We store and sync them so you can open them on other devices. The basis is our contract with you. If you use an existing shared team space, its members can access its content and see member names, email addresses and roles.
Support email and feedback
When you email us, we receive your address, message, attachments and email delivery information. In-app feedback sends your message, the page you were on, an account identifier if you are signed in, and an email address if supplied. We use these to answer you and investigate problems. The basis is our contract for account help, or our legitimate interest in answering other enquiries and improving reliability. Please leave out sensitive information that we do not need.
Reading a brand from a website
If you ask Mosso to read a brand from a website, our server receives the address you enter and reads that page, up to three linked stylesheets and an SVG icon to suggest colours, fonts and a logo. The websites serving those files receive the requested addresses and our server's connection information, without your Mosso account identifier or browser cookies. Avoid addresses containing private information or access tokens. The server processes the fetched content for this request without saving a copy in the account database. If you apply and save the suggested brand, it becomes part of your project. On the website you can type your address to see the library in your colours without an account. The result stays in your browser, and links into the app carry its name, address, colours and fonts so the editor opens in them. While it is switched on, Copy remix link on a template page adds this brand to the link, so anyone you share the link with can read its name, website address, colours and fonts, and our website's request logs record them when the link is opened. Opening a remix link that carries a brand shows that brand on that page only; if you have no brand of your own in that browser yet, it is kept there like one you typed. The basis is our contract to provide the feature you request; request limits serve our legitimate interest in preventing abuse. For visitors without an account, these limits count requests under a keyed hash of the IP address (for IPv6, of its network block), with a key that changes every day, never the address itself.
Error reports and security logs
Sentry receives only technical fields from a fixed list: the error type, the error message cut down to technical words and short error codes, the app page or server route with IDs replaced and without query strings, file names, line and column numbers and function names from Mosso's code and the libraries it uses, the browser family and version, the app build ID, a random event identifier, the time, and the app or server area. Our code strips personal fields and every other word of the message before sending reports, so your text, project content, colours, names, email addresses, postal addresses, links, card or phone numbers, prompts, account details, request data, cookies, attachments and click history are not sent. Sentry is set not to record IP addresses, and session replay and performance tracing are disabled. The network connection still exposes an IP address to the receiving provider; stripping event fields does not make the connection anonymous.
Hosting and sign-in providers also receive connection information, such as IP addresses, request times and browser details, to deliver and protect the service. Our basis for necessary error diagnosis and security logging is our legitimate interest in keeping Mosso safe and working.
Product usage events
Mosso records project saves on its own server, in Supabase, only when you are signed in. Each record contains your account identifier, the action and its time. These project usage records contain no project content, page paths, device identifiers, IP addresses or browser details. They do not use cookies, local storage identifiers or third-party trackers. We collect no project usage records from anonymous visitors.
The legal basis is our legitimate interest in improving the product and preventing abuse. These records are not needed to provide your account or exports. They are on by default. Turn off Keep product usage records in Settings, Your data to stop both new project usage records and app visitor measurements for your account on every device. Do Not Track and Global Privacy Control also stop both types of measurement from requests in that browser. Your account choice is saved on the server.
Our website measures visits by default. Website visits and signed-out app visits are anonymous: we never attach them to an account or match them to someone who signs in later. We count pages, referring website names, campaign labels, approximate location supplied by our host, device and browser type, and time spent on a page. The server uses the connection address and browser header to make an identifier that changes each day. It is separate for the website, signed-out app activity and each signed-in account. We do not store the connection address or a persistent device identifier with these events, or put a visitor identifier in cookies or browser storage. The browser keeps a random page identifier only in memory and sends it with the visit. We store it with the visit on our server. We filter bots and respect Do Not Track and Global Privacy Control.
We also use Ahrefs Web Analytics on the website to see which pages people reach from search engines. Its script loads from Ahrefs when you view a website page and sends Ahrefs the page address, the referring address, device and browser type and your connection address. Ahrefs counts visits without cookies or browser storage. Do Not Track and Global Privacy Control apply to our own measurement above. The legal basis is our legitimate interest in understanding how people find the website. The app does not load this script.
In the app, page activity, editor use, downloads and exports are linked to your account only while you are signed in and have not turned off product usage sharing. The same Keep product usage records switch in Settings, Your data controls this activity and project usage records. The database checks your account choice before keeping either type of record, including requests from another device. Our basis is our legitimate interest in understanding and improving Mosso. Only our owners and admins can see these reports. These measurements are optional and do not affect your access to Mosso.
The public website cannot read your account choice. To stop anonymous measurements there or while signed out, use Do Not Track or Global Privacy Control, or open a page with ?notrack=1 on that website or app. This saves an exclusion preference for that browser and site. Open a page with ?notrack=0 to remove it. It does not override your account opt-out or browser privacy signals.
When you follow a Start free or Edit in Mosso link, the website passes its first landing source, campaign labels and first page to the app. The app keeps these labels only in memory or the address until sign up, then saves them once on your new account. At that moment our server also saves the approximate location, at city level, that our host supplies for the sign up request, never the connection address, and skips this when your browser sends Do Not Track or Global Privacy Control. This does not link your anonymous visits to your account and works even when usage sharing is off. We use these source labels under our legitimate interest in understanding where new accounts come from. You can object to this use by emailing us. We keep your signup source until you delete your account.
Optional marketing consent
Product news by email is optional and based on your consent. The sign-up checkbox starts unchecked. We store your choice, where you made it, the wording version, the time you answer and the time of your latest change. If you have not answered, we ask once inside the app. We never email you to ask for marketing consent. Withdrawal clears the current opt-in time. You can withdraw in Settings, Profile, by emailing us, or through an unsubscribe link in a marketing email. Withdrawal does not affect earlier lawful use. Essential account emails do not depend on marketing consent and contain no marketing. We also record when your account is created with the Terms and Privacy policy versions shown, and when you see a notice about updated versions.
Photo search and your own AI
If you use the connected photo search, our server sends your search words, page number or selected photo identifier to Unsplash or Pexels. We do not send your Mosso account identifier to those services. Unsplash receives a selection notification when you choose a photo. Your browser requests photo previews and images from the selected provider, which receives connection information. A saved photo can load again when you reopen its project. The basis is our contract to provide the photo feature you request.
Mosso's own AI service is switched off during free access. If you connect your own AI through the local connector, your chosen AI provider handles what you send it under your separate account and its privacy terms. Mosso does not send those requests to a Mosso AI provider.
Using Mosso from an assistant
When you use Mosso inside an AI assistant or chat app, the assistant sends us your request (what you asked for, and the colours, text or website you gave) so we can build the animation. The assistant also tells us the approximate location and network address of the request. We use the address only to limit abuse, as a scrambled value that changes every day, and we keep no copy of it. We do not store the conversation, the request or the animation; nothing is saved unless you open the animation in Mosso and choose to keep it. The assistant's own handling of your conversation is covered by its privacy policy. The basis is our contract to provide the feature you request; request limits serve our legitimate interest in preventing abuse.
What you need to provide
An email address and sign-in verification are needed for an account and library downloads. We need project content only when you ask us to store or sync it. Without that data we cannot provide those features. You can still use local tools. Your display name, feedback, photo searches and marketing consent are optional. Refusing marketing or product usage events does not remove free access. We also process data when necessary to meet a legal obligation, such as answering a valid data rights request or a binding order.
Who receives data
Service providers process data needed for their role. Providers may also process some data for their own security or legal duties under their own privacy notices. Access within Mosso is limited to running the service and answering support requests.
- Supabase: database, sign in and cloud file storage. It receives account data, saved content, consent choices, counters, feedback and product events.
- Vercel: website, app and server hosting. It handles requests, connection information and data passing through our server routes.
- Resend: delivery of service emails, including sign-in emails through Supabase and team invitations where available. It receives recipient addresses, message content and delivery information. It would also deliver product news for people who opt in.
- Cloudflare: forwards email sent to hello@mosso.video to our support inbox. It handles sender and recipient details and message content. Its Turnstile sign-in safety check receives device and connection signals and supplies a verification token to Supabase to prevent automated abuse. Cloudflare also acts as a separate controller when it uses these signals to improve its bot detection. See Cloudflare's Turnstile privacy notice.
- Sentry: error reporting for the app and server, with the restricted report fields described above.
- Google Workspace: hosts our support mailbox. Cloudflare forwards hello@mosso.video messages there. Google Workspace processes sender and recipient addresses, message content, attachments and delivery information so we can answer you.
- Google: provides Sign in with Google. The sign-in button connects to Google on account pages where it is enabled, even before you choose that method. If an app preview password gate is enabled, its page also loads fonts from Google to display the page. Google receives connection information and handles your Google account under its privacy policy.
- Unsplash and Pexels: photo search and image delivery, only if you use that feature or reopen content containing their photos. See the Unsplash and Pexels privacy notices.
- Ahrefs: website visit measurement with Ahrefs Web Analytics. It receives page and referring addresses, device and browser type and connection information when you view a website page. It sets no cookies. See the Ahrefs privacy policy.
- jsDelivr: some exported embed code loads an animation player from this delivery service. It receives connection information when you or a visitor runs that code on an outside page. Merely generating the code in Mosso does not make that request.
Paddle checkout is switched off while Mosso is free. It does not load for free accounts, and no payment details are requested. Existing billing records, if any, may still be used to stop an earlier subscription when an account is deleted.
Other recipients can include the websites contacted when you ask us to read a brand, members of a shared space you use, and advisers or public authorities where disclosure is necessary to meet the law or handle a legal claim. Links to outside services only take you there when you follow them.
International transfers
Some providers and their subcontractors process data outside the European Economic Area, including through remote support. We use each processor's standard data processing terms. Transfers rely on an applicable adequacy decision, including the EU-US Data Privacy Framework where the recipient and service are covered, or the European Commission's Standard Contractual Clauses in the provider's data processing agreement, with additional protections where needed. These clauses require protection of your data when it is transferred. They do not mean every provider stores all data in the European Economic Area.
You can ask hello@mosso.video for information about the safeguards for your data and a copy of the relevant terms. Provider terms include the Supabase data processing addendum, Vercel data processing addendum and Resend data processing addendum.
Retention and account deletion
- Account, profile and consent choices: kept while your account is open, then removed from the active account database when account deletion succeeds. Sign-in codes are valid for 15 minutes. Session tokens are refreshed until you sign out, revoke them or delete the account; provider security logs have separate retention.
- Projects, brand kits and uploads: kept until you delete them or your account. Trash becomes eligible for permanent deletion after 30 days from the later of its trash date and last edit. Cleanup runs when the app reads the trash and, for cloud content, can sync the deletion. It is not a guaranteed background deletion on day 30. You can delete an item permanently from Trash sooner.
- Daily download records: kept while your account exists. The code has no age-based cleanup for older days. Account deletion removes these rows.
- Exports: the exported file stays on your device until you delete it. We do not keep a separate server copy just because you export.
- Product events: kept for 13 months from creation. In-app feedback, including its email, message and page, is kept for 24 months from receipt. Cleanup runs during existing project, event or feedback writes, at most once a day. If there are no writes, expired records remain until the next write. Deleting an account removes its events and linked feedback too.
- Visitor measurements: kept for 13 months. Events older than 13 months are deleted on the next measured visit or admin report request. Deleting your account also removes its linked visitor events and signup source. Anonymous visits stay separate and cannot be found through your account.
- Support email: kept in Google Workspace for 24 months from receipt to answer your enquiry and follow-up. Mailbox cleanup is managed separately from the app. Email us to request earlier deletion; deleting your Mosso account does not automatically identify and erase mailbox messages.
- Error reports, provider logs and backups: Sentry error reports are kept for 90 days under Sentry's retention setting. Supabase backups follow the provider's backup window for our service. Hosting logs follow Vercel's log retention for our service. The app does not set those provider windows or erase individual backup copies. Deleted data in backups expires with that window; we reapply account erasures before restoring data to active use.
- Abuse-prevention counters: older windows for a key are removed when that key is used again. Opportunistic cleanup removes windows older than two days; there is no guaranteed two-day deletion deadline.
- Existing team invitations: accepted invitations are deleted on acceptance; expired or cancelled invitations become eligible for cleanup after 30 days. A team member's departure does not delete shared projects or brand kits.
Use Settings, Your data to delete your account. We erase deleted accounts from active systems within 30 days, including their personal projects, uploaded files, product events and account-linked feedback. The server normally removes these when deletion succeeds and revokes sessions. If you own a team with other members, you must remove them first or contact us for help. A team with only its owner is deleted with that owner's account. If you are a member of someone else's team, its content stays with that team and your membership is removed.
The app also attempts to remove the current browser's account caches. Local projects, preferences, old chat drafts, downloaded files and copies on other devices may remain. Clear browser data on each device if you want to remove those local copies, after saving anything you need. Where a specific legal duty or active claim requires us to keep data, we limit it to what is needed for that duty or claim and explain any refusal to erase it.
Your rights
You can request access to your personal data, correction, deletion, restriction of processing and a portable copy of data you provided where the law allows. You can object to processing based on legitimate interests because of your circumstances, and object to direct marketing at any time. You can withdraw consent at any time without losing your account.
Email hello@mosso.video for any data protection request. Settings, Profile lets you correct your display name and change marketing consent. Settings, Your data lets you download projects and basic account information, turn off usage events and delete your account. The download is not a complete copy of every server record; email us for a full access or portability request, including counters, feedback and logs where available.
We may ask for reasonable proof that the data is yours. We respond without undue delay, normally within one month. If a complex request needs up to two more months, we tell you within the first month and explain why. Requests are normally free. We explain any lawful refusal and how to challenge it.
You can complain to the data protection authority where you live or work, or where you believe an infringement happened. You do not have to contact us first.
Automated decisions
We do not use automated decision making or profiling that produces legal or similarly significant effects about you. Automatic download limits and sign-in safety checks protect the service. Email us if a check wrongly blocks you so a person can review it.
Cookies and browser storage
The website does not set its own advertising or analytics cookies. The app stores sign-in and feature data in your browser as listed below. Product usage records are created on the server from signed-in project saves. They do not read or write cookies or browser storage. Visitor measurements also use no cookies or stored visitor identifiers. Their shared account opt-out is described above.
Cookies
mosso_preview is an access cookie used only when an app preview password gate is enabled. It lasts 30 days, is secure and cannot be read by page scripts. The public app does not need that gate. Google and Cloudflare may use their own storage when their sign-in and security features run. Cloudflare's optional cf_clearance cookie depends on its dashboard configuration; it is not set by Mosso's page code. Their current notices describe their storage.
Local storage on your device
mosso-authand its sign-in helper keys, such asmosso-auth-code-verifier: Supabase session and redirect verification. The session remains until sign-out, revocation or deletion; the helper is consumed during sign in.mosso.account,mosso.space.<account>andmosso.team.<account>: the last account and selected space, and cached team details for offline use. The current account and team cache are cleared on sign-out, but space preferences and older account entries can remain.mosso.ui.sort,mosso.ui.hideSignInNudge(themosso.ui.*preferences),mosso.recentColors,mosso:editorMode,mosso:editorMode:switchedandmosso:aiNotes:seen: layout choices, recent colours, editor mode and dismissed guidance.mosso:chat:<project>andmosso:chat-draft:<project>: local chat history and drafts, where present from chat features. Turning off Mosso's AI does not itself erase earlier local history.mosso:notrack: excludes this browser from visitor measurements on the website or app where you set it. This is a preference, not an identifier. The oldermosso.analyticsopt-out is moved into your account when the app reads your usage setting after sign in, then removed after the account setting is saved. We do not save new choices under that older key.mosso-tools:bgandmosso-tools:bg-color: the background you choose in the website's Lottie viewer.mosso:your-brand: the brand read from a website address you typed on the website, or opened from a remix link while you had none (its name, address, colours and fonts), whether it is switched on, and whether it came from a link. Reset removes it.
Unless a shorter lifetime is stated, local storage has no automatic expiry. It remains until replaced, removed by the relevant feature, cleared by you or evicted by your browser.
Storage for the current tab
mosso.signInMethod: remembers whether this tab uses an email code or a password.mosso.emailCode: the address and state of a pending sign-in code, accepted for up to 15 minutes.mosso:signup-consent: your pending email preference through sign up, accepted for up to 30 minutes and cleared when processed.mosso.invite: a pending team invitation token, removed after it is handled.mosso.feedback.draft: feedback you have not sent yet.mosso:reloaded-for-update: prevents repeated reloads after an app update.mosso:motion: the website's animation preference.
This session storage normally clears when the tab session ends. A time limit on using a value does not necessarily erase it at that instant.
Local databases and cached files
IndexedDB databases called mosso, mosso-cloud-<account> and mosso-cloud-<account>-team-<team> hold local projects, assets and offline cloud copies. Sign-out attempts to clear cloud caches but keeps unsynced changes. Account deletion attempts to clear those caches on the current device. Browser storage can fail to clear or persist on another device.
The website's mosso-tools database temporarily holds a file when you move between tools. The next read deletes it and rejects files older than ten minutes. If you never return, it can remain until you clear browser data. Ordinary browser caching also stores app code, fonts and images to load them faster.
You can remove cookies and storage in your browser settings. This can sign you out and permanently remove local work that was not synced. Essential sign-in and requested feature storage does not need a marketing consent choice; product usage choices are saved in your account, separately from this browser storage.
Changes to this policy
We update the date above when this policy changes. We will tell you in the app or by email before a material change takes effect. Before using your data for a new purpose, we will explain that purpose and its legal basis and ask for consent if required.
See the terms of service. For privacy questions and requests, email hello@mosso.video.