Culvert VPN

Why a VPN shows a permanent notification on Android

Android requires a running VPN to show a persistent notification and adds a key icon of its own. What each means, and how to quiet it without stopping it.

Android how-tos · 4 min read · By Culvert VPN

A VPN app on Android shows a persistent notification because Android requires it: any app that keeps working while you are not looking at it must run a foreground service, and a foreground service must post a notification that stays until the service stops. Separately, Android itself puts a key icon in the status bar whenever a VPN interface is active. The notification belongs to the app; the key belongs to the system. You cannot get rid of either without stopping the VPN, but you can make the notification silent and small.

Two indicators, two owners

Look at the top of the screen with a VPN connected and you will see both:

IndicatorWho shows itWhat it means
Key icon in the status barAndroidA VPN interface exists and apps are being routed into it
Notification in the shadeThe VPN appThe app's service is running and holding the tunnel

The key icon is the one to trust. Android draws it, an app cannot fake it or hide it, and it disappears the instant the VPN interface is torn down. The notification is the app's own report, and it can say whatever the app wants; a good one shows the connection state, the location and a disconnect button, and nothing it cannot back up.

Why Android insists on the notification

Since Android 8, an app cannot quietly run a service in the background. If it needs to keep working while another app is on screen, it must declare that work as a foreground service, and the system shows a notification for it. The rule exists so that you always know which apps are doing something while you are not using them, and so that Android can hold those apps to a stricter standard: they use more battery than sleeping apps, and you should be able to see who is responsible.

A VPN is the clearest case there is. It reads every packet the phone sends, so it should be visible while it does. A VPN that could run with no trace would be a VPN you could not tell was on, and a VPN you could not tell had been turned off. The connect screen explainer covers what the app's own screen should show on top of the notification.

What the notification costs

Nothing measurable in battery. The notification is a row of text; the service behind it is what uses power, and it would use the same power without the row. Does a VPN drain your phone battery looks at the real numbers, which are small for an idle tunnel and proportional to traffic for a busy one.

What the notification does cost is a line in the shade, permanently. That is the trade Android makes on your behalf, and it is a reasonable one.

Making it quieter

You can shrink the notification without stopping the service:

  1. Long-press the notification. Android shows the channel controls for that app.
  2. Choose Silent (on some versions, turn off Alerting). The notification stays but stops making sound or appearing on the lock screen as a heads-up.
  3. On many phones you can also choose Minimise or a similar option, which collapses it to a single line at the bottom of the shade.

On Android 13 and newer, you can usually swipe the notification away outright. The service keeps running and the key icon stays in the status bar, so the VPN is unaffected. On Android 8 through 12 the notification is pinned while the service runs and cannot be swiped.

What not to do: turn off the notification channel entirely from the app's notification settings. On some Android versions the system then shows its own generic "app is running in the background" line instead, which is less informative than the one you hid, and on others the app's service may be treated as less important and stopped sooner. If the goal is a quiet shade, Silent is the right setting.

When the notification disappears on its own

If the notification vanishes and the key icon with it, the VPN has stopped. The usual causes are Android's battery optimiser or a manufacturer's power manager stopping the app in the background, another VPN app taking over, or the phone restarting without Always-on VPN set. Stopping the battery optimiser covers the first, and Always-on VPN covers the last two: with it set, Android restarts the VPN, and the notification comes back without you.

If the notification is there but the key icon is not, the app's service is running but has no tunnel. That is a reconnecting state, or a stuck one. Give it a few seconds; if the key does not return, disconnect and connect again.

The other warning: "Network may be monitored"

Some people see a second, system-owned notification reading "Network may be monitored" and assume it is about the VPN. It is not. Android shows it when a user-installed certificate authority is present on the phone, because such a certificate lets whoever installed it decrypt HTTPS. A VPN does not need one to work, and a VPN app that installs one is doing something a VPN should not. If the warning appeared after installing a VPN, remove the certificate under Settings > Security > Encryption & credentials > Trusted credentials > User (the path varies by manufacturer) and reconsider the app.

Culvert VPN's notification reports only the connection state, with no protocol names and no claims the app cannot verify, and the app is on Google Play.

Questions people also ask

Does the key icon mean my traffic is protected?

It means Android has an active VPN interface. It does not prove traffic is flowing through it, which is why a good app also shows the exit IP it verified through the tunnel.

What is the "Network may be monitored" notification?

That is a different warning, shown when a user-installed certificate authority is on the phone. A VPN app does not need one, and if you see it after installing a VPN, ask why the app added a certificate.

If I swipe the notification away, does the VPN stop?

On Android 13 and newer you can usually dismiss it and the VPN keeps running; the key icon stays. On older versions it cannot be dismissed while the VPN is up.