Support & FAQ

How can we help?

KeepAlive is a personal-safety app. For any question, feedback, or legal request (GDPR / RGPD, right of access, deletion), email us at romain.jean34@gmail.com. Maximum response time for GDPR requests: 30 days.

In an immediate emergency — KeepAlive is not an emergency service. Dial 112 (Europe), 15 (paramedics, France), 17 (Police, France) or 18 (Fire department, France) — or your local emergency number (911 in the US, 999 in the UK).

How it works in practice

Six very practical questions to demystify how the app works.

How long does it take to set up KeepAlive the first time?
About 2 minutes. On install, the app walks you through 3 screens: (1) account creation with email + password, (2) choice of your 4-digit "normal" code, (3) choice of your "distress" code, visually similar to the normal one. No personal contacts to enter — your alert is handled by our 24/7 on-call operator.
How exactly do I trigger a duress alert?
Three options depending on context: (1) type your distress code on any screen asking for the PIN — the app continues normally but the alert has been sent; (2) press the volume-down button 3 times quickly while the phone is locked (iOS & Android); (3) on Apple Watch (Q3 2026), hold the crown for 2 seconds. None of these options produce any visible or audible feedback.
What happens on the operator's side when I trigger an alert?
The on-call operator sees the alert appear on their remote-monitoring console (audio + visual alert, pickup < 60 s). They immediately have access to: your live GPS position (refreshed every 10 s), the ambient audio stream (10-second samples every 30 s), the front/rear photos (1 every 60 s), and the history of your recent check-ins. They listen, watch, qualify — then make one of three decisions: (a) dispatch the relevant emergency services (police, gendarmerie, paramedics) with your position and an HMAC-signed forensic summary; (b) attempt a verification call on your phone number if context allows; (c) acknowledge the alert in case of an obvious false trigger. At no point are your personal contacts solicited — the operator speaks to the authorities, not you.
How long does a distress session last?
By default, 30 minutes. During this time, the app streams GPS, audio (10-second samples every 30 s) and photos (1 every 60 s) to the backend. You can extend or stop the session manually from Settings → Security → Active sessions, after re-authenticating with your normal code. The operator can also extend the session server-side if the situation requires it.
What if the attacker searches the app after taking my code?
The home screen and dashboard are strictly identical in normal mode and distress mode. The history of distress sessions is never visible locally — it lives only on the server, accessible from the web dashboard after re-authenticating from another device. An attacker scrolling through the app sees an ordinary check-in app, with no trace.
Does the app drain a lot of battery?
In normal mode, less than 1% per day — the app is dormant between scheduled check-ins. During an active distress session, expect about 15% per hour (continuous GPS + encrypted uploads). On a standard iPhone, that gives you a 6+ hour session from 100%. If the battery drops below 5% mid-session, the app switches to "minimal SOS" mode (GPS only, every 60 s, no more audio or photos) to extend autonomy.
How does the "guided walk" check-in work?
You start a check-in with a delay (5, 10, 20, or 30 minutes) before leaving a place. The app tracks your route, and when the delay expires it asks you to confirm with your normal code. If you don't reply within 60 seconds — or if you enter the distress code — the on-call operator is automatically notified with your last known position and attempts a verification call. If they can't reach you, they dispatch help to your location. Ideal for a late-night walk home, a taxi ride, or an uncertain meet-up.

Frequently asked questions

How does KeepAlive stay discreet in front of an attacker?
The app shows the exact same interface whether you enter your normal code or your distress code: no visible SOS button, no audible signal, no icon change. The trigger, media capture and GPS stream all run in the background, with no visible feedback to the user.
How do I configure my two PIN codes?
On first use, the app asks you to set a "normal" code and then a "distress" code. You can change them at any time from Settings → Security. Pick two codes that are easy to remember under stress but visually similar (e.g. 1234 and 1235).
I forgot my code, what do I do?
On the sign-in screen, tap "Forgot password". A reset email is sent to the address linked to your account. For security reasons, local PIN codes can only be reset by reinstalling the app after authentication.
How do I delete my account and data?
Settings → Account → Delete my account. An email confirmation is required. All personal data is wiped within 30 days (except mandatory retention of technical logs, French CPCE Art. L.34-1 — 12 months maximum).
How do I know my alert actually reached the operator?
The app deliberately sends no visible or audible feedback — that's what makes it invisible under duress. On the operator side, however, every alert is traced: receipt timestamp, operator who picked it up, handling duration, final decision (dispatch / verification call / acknowledgment). This history is available from your web member area once the session is closed. If you suspect an alert never made it (which has never happened in beta), email us at romain.jean34@gmail.com with the approximate date.
The app crashed during a check-in. What should I do?
If the app was in "normal" mode, reopen it and trigger a fresh manual check-in. If the app was in "distress" mode, the server already keeps the session open; the media collected before the crash are available on the backend. Send us the (anonymized) Sentry report by emailing romain.jean34@gmail.com with the approximate date.
How does the demo account work?
During beta, a demo account is available to try the app without signing up. Codes: 1234 (normal) and 1235 (distress). Triggering distress in demo mode does not send any real alert to an operator; it only simulates the UI flow and logs the event in the database, with no transmission.
Does the app work without an Internet connection?
Partially. Local triggering and media caching work offline; transmission to the backend resumes automatically as soon as a connection is restored. The companion LPWAN device (v1.3a, currently being sourced) will add an independent cellular/Sigfox channel that doesn't rely on the phone.
Does KeepAlive access my contacts, photos, or messages?
No. The app does not read your address book, your photo library, or your text messages. No personal contacts are needed for the service to work — our on-call operator handles the response. The iOS permissions requested are strictly: Camera, Microphone, Location, Notifications.
How can I join the beta or contribute?
Email romain.jean34@gmail.com with your profile (journalist, expat, NGO, individual…) and your OS. Field feedback is essential to iterate before public release.
Is my data sold, shared, or used for ads?
No. No advertising tracker, no marketing SDK, no resale. NSPrivacyTracking = false in the iOS manifest. See our privacy policy for the full list of processors (Apple APNs, Sentry EU, EU host).

Still stuck?

Email us at romain.jean34@gmail.com with: app version, phone model, OS, and a description of the issue. If you're in a high-risk area, mention it and we'll prioritize.