What makes it different

Three decisions we made on purpose.

Plenty of apps will track your sexual health. These are the choices that shaped this one, including the things we deliberately left out.

One

It doesn't have to look like this app.

The most private app in the world is still a problem if someone reads the name off your home screen. So KeepAlcove can stop looking like itself, in three layers, and you can use as many as you want.

Rename it

Change what the app calls itself on every screen inside it. Free.

Change the icon

Swap the home screen icon for a plain notes app, a calculator, a weather app, or a settings-style tool. All bundled, all free.

Or build your own

A guided walkthrough for making a home screen shortcut with any name you like and any photo from your library.

Why the third one exists. Apple gives no app a way to use one of your own photos as its icon, or to rename itself on the home screen. Apps that manage it are using private APIs and get pulled from the App Store. What is supported is a Shortcut, which you make yourself and which opens the app. It behaves like an app icon, it can be called anything, and it can be any picture you own.

The walkthrough inside the app takes about a minute. It also tells you the two things that route can't do: the Shortcuts banner flashes when it opens, and someone searching their App Library will still find the real app. It hides KeepAlcove from a glance, not from a search.

Two

All of it in one place, because it's all one picture.

Sexual health tends to get split across apps: a pill reminder in one, test results in a note somewhere, encounters not written down at all because there was nowhere sensible to put them. That fragmentation is the reason the useful question is hard to answer.

KeepAlcove keeps encounters, testing history, and status including PrEP in one encrypted store, so "when was I last tested, and what has happened since" is a question the app can actually answer.

Encounters

Date, protection used, an optional name or nickname, and whatever notes you want. The name is a label for you, never a contact record.

Testing

Every test and result, with days-since-last-test on the home screen so you don't have to work it out.

Status and PrEP

Your status and PrEP regimen alongside everything else, rather than in a separate app that knows nothing about the rest.

A summary for appointments

A formatted PDF of your testing history and status, generated on your phone. Your personal notes are deliberately left out of it.

Three

Nothing in here scores you.

There are no streaks. No rings to close. No counters, badges, or progress bars attached to how often you log an encounter. This was a decision, not an oversight, and it is the one we would defend hardest.

Gamification works by making you want the number to go up. Pointed at sexual activity, that is a genuinely bad idea: it turns a private record into a scoreboard, and it quietly suggests that more is better and that a gap is a failure. Neither is true, and an app has no business implying either.

Where encouragement does belong. Testing and medication are different, because there the healthy direction is unambiguous. So the app will remind you about a test interval you set yourself, and about a daily pill at a time you choose, in a tone that assumes you are an adult who forgot rather than a child who failed.

The daily affirmation is the other place, and it is a single line, on by default, and switchable off in one tap. It is meant as something quietly encouraging for people who don't hear it often, not as a reward for logging anything.

And the part that isn't private

One exception, stated out loud.

Everything above happens on your phone, encrypted, with no account and no server. There is one thing that cannot work that way: finding a testing clinic near you. A directory of clinics has to come from somewhere, and it goes out of date.

So that feature asks first. Every time you use it, before anything leaves your phone, it tells you exactly what is about to be sent, which is a zip code and nothing else, and that nothing is kept. There is no option to stop asking, because the point is that you see the exception each time you take it.

Try KeepAlcove in your browser