Privacy by design

How Solum handles your data

A privacy policy tells you what a company promises. Architecture tells you what is possible. This page is about the second one: where your data physically lives, what the app is capable of sending, and the things we chose not to build.

The short version

What is stored on your phone

Solum writes to a SQLite database inside the app's private storage. That covers everything you enter: compounds, vials and their remaining volume, every logged administration with its site, time and notes, schedules and protocols, tablet counts, observations, and app settings. The operating system encrypts this storage at rest, and it is deleted when the app is deleted.

What is not in the app

Most tracking apps ship a stack of third-party code that phones home whether or not you sign in. Solum deliberately does not include:

What does leave the phone

A phone app that sells a subscription cannot be entirely silent. Solum makes exactly five kinds of request, each listed with what it contains on the home page. In brief:

Identity
A random ID generated on the phone, registered once so subscription and transfer features can work. It is not linked to a name, email, or store account.
Referral code
Sent only if you type one in during setup, with a one-way hash of the device ID to prevent double counting. The hash is deleted after the referrer is paid.
Subscription
Handled by Apple or Google, then verified through RevenueCat with anonymous receipt data. We never see payment details.
Cloud Transfer
Optional. One encrypted blob our server cannot read, held for at most 24 hours.
AI assistant
Optional, and off until you switch it on. Goes to an AI provider you choose, under your own API key, and never to us. Covered in its own section below.

The first four are opportunistic. If the network is unavailable, the app carries on. Nothing waits on a server, and none of them carries your log.

The assistant, and why it is built this way

The Ask tab can answer questions about your own logbook. That is genuinely useful, and it is also the one thing in Solum that can put your log in front of someone else's computer. So the design gives that decision to you rather than making it for you.

We are not in the path. There is no Solum AI. We host no model and run no proxy. You bring an API key for a provider you already use, and your phone speaks to them directly. We could not read that traffic if we wanted to, and we did not build the option to.

Nothing happens until you set it up. No provider is configured out of the box. Enabling it takes a deliberate walk through a disclaimer, a provider choice, and a key that has to pass a live test. Decline it and the rest of the app is unchanged.

You choose how much it can see. Three switches in Settings control whether it may read your logbook, use the calculator, and draft records. Switching one off removes that tool from the model entirely, so the underlying data is never collected or sent. If you want the feature with nothing leaving your own network, point it at a local OpenAI-compatible server instead.

It cannot change your data. Drafts are proposals rendered as cards. Nothing is written until you tap Apply, which runs the same validation as filling the form in by hand.

The trade-off is real, and it is yours to make. Once you connect a provider, your questions and the parts of your log needed to answer them are subject to that provider's privacy policy and retention, not ours. Read their terms first. Disconnecting deletes the key and every conversation from the phone. The full detail is in the privacy policy, and the setup is walked through on the assistant page.

Locks and encryption

Moving to a new phone

Two paths. Local transfer shows a QR code on the old phone and hands the data over directly with the share sheet, never touching a server. Cloud Transfer is for when the phones cannot be in the same room: the encrypted blob goes through a relay and is deleted the moment the new phone downloads it, or after 24 hours if unclaimed.

Export and deletion

Settings → Export All Data produces a complete JSON or CSV file of everything in the app. It is yours to keep, move, or analyse elsewhere. Deleting the app deletes the database. There is no server-side copy of your log to request deletion of, because one was never made. The only server record that can exist is the pseudonymous ID, and only if you used a referral code or Cloud Transfer; email privacy@getsolum.app with the ID from Settings to have it removed. Assistant conversations live in the same local database and are wiped when you disconnect the provider; anything already sent to that provider is held under their policy, and only they can delete it.

What this costs you

We would rather be straight about the trade-offs than pretend there are none.

For a record this personal, we think that is the right default. If you want the reasoning, read why privacy matters for a dose log. The legal version of all of this is the privacy policy.