Bubbles is made by Penumbreal, a one-person software business in the Netherlands, under its Soluneal trade name. We don't track you, we don't drop cookies, we don't fingerprint your browser, and we don't sell anything about you to anyone. What you put in your bubbles stays on your Mac. This page exists to tell you exactly what does get stored when you interact with us, why, and how to make it go away.
1. Who we are
Soluneal is the trade name under which Penumbreal publishes its macOS apps. Penumbreal is a sole proprietorship (eenmanszaak) registered in the Netherlands under KvK number 42159345, at De Nieuwe Erven 3, Unit 15248, 5431 NV Cuijk, The Netherlands, and it is the data controller for everything described on this page. Contact: contact@penumbreal.com. There is no data protection officer because we are too small to be required to appoint one. Emails go to a real human who reads them.
2. What we collect when you visit this site
Nothing about you. bubbles.soluneal.com runs no tag managers, no advertising pixels, no session replay, no heatmaps, and no cookies. Your IP address is processed by Cloudflare's edge to deliver the page to you, but we never see it and it isn't logged for our use.
The one measurement on the site is Cloudflare Web Analytics, which Cloudflare runs on its side. It measures how fast pages load and counts visits, without cookies, without a client-side identifier, and without building a profile of you; Cloudflare does not use the data for its own purposes. It tells us that a page was slow, not who you are. Blocking it changes nothing about the site. The Bubbles app itself has no analytics (see section 12).
The page's typeface comes from Google Fonts. Like any server, it sees your IP address and browser when your browser fetches the font. We receive nothing from it.
3. Who else sees it
Nobody who shouldn't. We do not sell, rent, share, license, or otherwise hand your data to advertising networks, data brokers, social platforms, or AI training companies. We run no user database of our own; the only customer records that exist live with the services below.
- Cloudflare serves this website, the app's update feed and the update downloads. Its processing is governed by its privacy policy and its EU/UK data processing addendum; it acts as a data processor under our instructions and does not use your data for its own marketing.
- Lemon Squeezy runs the store, the license service, and our product-update emails. It holds your order and, if you subscribed, your email address, as described in the next two sections, under its privacy policy.
- Google Fonts delivers the page's typeface. It sees your IP address and browser when your browser fetches the font; we receive nothing from it.
The app itself talks to exactly two places: Lemon Squeezy's license service and this site, for the update feed and the updates themselves. Neither request carries anything you put in a bubble. Each one is described in its own section below.
4. When you buy Bubbles
Purchases go through Lemon Squeezy, which sells Bubbles as the Merchant of Record. At checkout it collects your name, email address, billing country, and payment details, plus a VAT ID if you enter one. Payment details stay with Lemon Squeezy and its payment providers; we never see a card number.
What we do see, in our Lemon Squeezy dashboard, is your name, email, country, the order, and your license key with its activations. We use it to deliver and activate the license, answer support and refund requests, and keep the bookkeeping Dutch tax law requires, which is also why purchase records are kept for seven years after the sale. Legal basis: performance of the contract with you, and our legal obligations for the records.
The free week needs no purchase, no card and no email. Its start date is kept on your Mac and is never sent to us. What happens when you enter a license key is described in section 10.
5. Product-update emails
Order confirmations and license emails are transactional and go to every buyer. Beyond that we only email you if you chose it, for example by ticking a box for product updates at checkout. That list is hosted and sent through Lemon Squeezy's email tool. Emails are occasional (launches, significant updates), every one carries an unsubscribe link, and opting out never affects your license. Legal basis: your consent, which you can withdraw at any time by unsubscribing or by emailing contact@penumbreal.com.
6. Your rights
If the GDPR (EU/UK) or a similar data-protection law applies to you, you have the right to:
- Access the data we hold about you.
- Correct it if it's wrong.
- Delete it (right to erasure / right to be forgotten).
- Withdraw your consent at any time.
- Receive a copy in a portable format.
- Object to or restrict our processing.
- Lodge a complaint with your local supervisory authority. Ours is the Dutch Autoriteit Persoonsgegevens.
To exercise any of these, just email contact@penumbreal.com. Because we're small, we usually act on the request the same day. We will not ask you to "verify your identity" by sending us an ID card; your request from the email address on file is sufficient. Deletion has one limit: the purchase records Dutch tax law requires us to keep stay until that period ends, and the payment records themselves are held by Lemon Squeezy, which handles requests about them under its own policy.
Your bubbles are not on that list because we never have them. They live only on your Mac, and section 8 says how to remove them yourself.
7. Cookies and tracking
None. We don't use cookies, localStorage, sessionStorage, or any other client-side persistence on the marketing sites. No Google Analytics, no Facebook Pixel, no Plausible. The only measurement is the cookie-free Cloudflare Web Analytics described in section 2.
8. What Bubbles keeps on your Mac
Your bubbles and everything that belongs to them are in one
folder on your Mac,
~/Library/Application Support/Bubbles. Settings,
Storage shows where it is. Inside:
-
bubbles.json, the list of your bubbles: each one's title, the text of your notes, the address of each link, where each file is on your Mac, when the bubble was made, when it should be forgotten if you set a time, and where it sits on screen. -
Items, the images you paste or drop that are not already files on your Mac, saved as PNG files, and a text file of a note whenever that note needs to be a file, for example when you drag it out. Bubbles cleans up files here that no bubble uses any more. -
Backups, a copy ofbubbles.jsononce a day, when it is not empty. The newest seven are kept and older ones are deleted, so a note or link you remove can stay in these copies for about a week. -
Recently Forgotten, the images and note files of bubbles you remove, kept so Undo can bring them back (the last 30 removals). Bubbles whose forget time runs out are deleted straight away. This folder is emptied the next time Bubbles starts. - Your license, if you entered one: the key, the id Lemon Squeezy gave this Mac's activation, the customer name on the order, when the key was last checked, and a scrambled form of this Mac's hardware id (a one-way hash, so the id itself is not stored; on a Mac that reports none, a random id kept in a small file next to it). It keeps the license with the Mac it was activated on and never leaves your Mac. A small file next to it holds the date your free week began.
If bubbles.json ever becomes unreadable, Bubbles
sets it aside in the same folder instead of overwriting it,
and tells you where it is. Your preferences (the shortcut,
your settings, where the + sits, when you accepted the terms,
a second copy of the date your free week began, and the
update checker's state) are kept in the app's standard macOS
preferences.
Your bubbles, notes, images and file locations are never sent anywhere. The only thing in this folder that leaves your Mac is your license key and its activation id, which go to Lemon Squeezy as section 10 describes. To remove it
all, quit Bubbles, delete the app, the Bubbles
folder above, and the file
~/Library/Preferences/com.soluneal.bubbles.plist. If you remove the license first (Settings, About) while online, its Mac slot is freed too; otherwise you can free it from your Lemon Squeezy order page or by emailing us.
9. Your files, the clipboard and drags
Files. A file bubble is a reference to your file, not a copy. Bubbles stores the file's path and a macOS bookmark, so the bubble follows the file when you rename or move it in Finder. Bubbles never copies, moves or deletes the original. Dragging a bubble out always gives a copy and leaves the original where it was. Forgetting a file bubble removes the bubble, never the file.
Links. A link bubble stores the address and a title made from it. Bubbles does not visit the page or fetch a preview; the link opens in your browser only when you open it.
The clipboard. Bubbles reads the clipboard only when you paste into the bubbles, with Cmd+V or Paste in the menu on the +. Opening that menu also checks whether what's on the clipboard could become a bubble, so Paste can be greyed out when it couldn't. Bubbles never watches the clipboard in the background. Anything a password manager marks as private is ignored and never becomes a bubble.
Drags. So the bubbles can come out while you drag a file, Bubbles uses a standard macOS mouse monitor that needs no Accessibility permission. You can turn this off in Settings, General. When you press and drag, it looks at what kind of thing is being dragged (a file or an image) only to decide whether to show the bubbles. While the bubbles are on screen, it also follows the pointer so clicks beside a bubble reach the app underneath, and a click elsewhere hides them. It does not read what you drag unless you drop it on the bubbles, and it keeps no record of where or what you click.
The shortcut. Option+Command+B, or the one you pick, is a standard system shortcut. Bubbles does not read anything else you type. It never asks for Accessibility, Screen Recording, the camera, the microphone or your contacts.
10. License checks
Until you enter a license key, Bubbles makes no license requests at all. When you enter one, Bubbles sends it to Lemon Squeezy's license service to check that it is a Bubbles key, then activates it on this Mac. The activation sends the key and your Mac's name (the one shown in System Settings, for example "Ayşe's MacBook Air") as the name of the activation, so you and we can tell your Macs apart, and so activations can be counted against the number of Macs your license allows. Lemon Squeezy replies with an id for this activation and the customer name on the order, which Bubbles keeps on your Mac to show in Settings.
After that, once its last successful check is more than two weeks old, Bubbles checks the key again, when it starts or while it keeps running. If the license turns up on another Mac, for example after Migration Assistant or a copy of the Bubbles folder, Bubbles activates the key on that Mac the same way, with that Mac's name. If the key has no Mac left, Bubbles keeps it and tells you how to free one. If a check has been overdue for a while, Settings, About also offers a Check Now button. That check sends the key and the activation id. If your Mac is offline or Lemon Squeezy can't be reached, Bubbles keeps working; that never locks you out. If Lemon Squeezy answers that the key is no longer valid, for example because it was disabled, Bubbles forgets the key on this Mac and asks for one again.
Removing the license in Settings, About sends the key and the activation id so Lemon Squeezy can free that Mac's slot, and deletes the key from this Mac even if you are offline. You can also email us to remove an activation.
These requests go to api.lemonsqueezy.com and
carry nothing about your bubbles, your files or how you use
the app. Like any internet request they show Lemon Squeezy
your IP address. Legal basis: performance of the contract
with you.
11. Software updates
Bubbles checks for updates by fetching the update feed from
bubbles.soluneal.com (via the open-source Sparkle
framework) shortly after it starts, about once a day, and when
you choose Check for Updates. You can turn off the daily check
in Settings, General; Bubbles still makes the one check shortly
after it starts. That is a plain
request for a file. Apart from the standard header that names
the app and its version, it carries no install ID, no account
information, and no system profile. When you install an
update, it is downloaded from the same site. Cloudflare's edge
sees these requests the same way it sees a visit to this
website.
12. What Bubbles never does
- No analytics and no telemetry. Bubbles doesn't count how you use it or report crashes on its own.
- No accounts. There is nothing to sign up for and nothing to log in to.
- No sync and no cloud. Bubbles never uploads your bubbles, and we never receive them.
- Nothing about your files leaves your Mac: not their names, not their contents, not where they are.
- No advertising, and nothing sold or shared with anyone.
13. Children
Our products are not directed at children under 16. We don't knowingly collect data from anyone in that age range. If you believe we have, email us and we'll delete it immediately.
14. International transfers
Cloudflare operates a global network, and Lemon Squeezy and Google are based in the United States, so your data may be processed outside the EU/EEA. They rely on Standard Contractual Clauses or an equivalent transfer mechanism under GDPR Chapter V.
15. Changes to this page
If we change anything about how we handle your data, we'll update the "Last updated" date at the top of this page and, for material changes, post a notice here and in the Bubbles release notes before the new policy takes effect.
16. Questions
Anything unclear, anything missing, anything you want changed? Email contact@soluneal.com. A real person will write you back.
