BLE Notfall-Mesh ← Startseite / Home

Datenschutzerklärung

BLE Notfall-Mesh · Stand: 25. August 2026 · English version below

Das Wichtigste zuerst

Diese App hat keine Server für Nachrichten. Es gibt keine Konten, keine Registrierung, keine Telefonnummer und keine Anmeldung. Die App enthält keine Analysewerkzeuge, keine Werbung und keine Tracker. Von sich aus überträgt sie nichts ins Internet — nicht beim Start, nicht im Betrieb, nie. Über Bluetooth funkt sie sehr wohl: Das ist ihr Zweck, und was dabei hinausgeht, steht weiter unten unter „Was über Bluetooth übertragen wird“.

Eine einzige Ausnahme gibt es, und die löst du selbst aus: das Herunterladen einer Offline-Karte. Dabei ruft die App eine Datei von notfall-mesh.de ab, und dieser Server sieht dabei zwangsläufig deine IP-Adresse — wie jeder Webserver bei jedem Abruf. Mehr nicht: keine Kennung, keine Nachricht, kein Standort. Wer auch das vermeiden möchte, lädt die Datei im Browser herunter und importiert sie; dann fasst die App das Netz nie an.

Alles, was die App speichert, liegt ausschließlich auf deinem Gerät. Nachrichten reisen ausschließlich per Bluetooth Low Energy von Gerät zu Gerät.

Diese Website zählt Aufrufe — selbst betrieben, ohne Cookies und ohne Analysedienst eines Drittanbieters. Gespeichert wird ausschließlich: welche Seite, auf die Stunde gerundet wann, von welcher verweisenden Domain und aus welcher groben Region (meist nur aus der Spracheinstellung deines Browsers abgeleitet, keine echte Standortbestimmung). Deine IP-Adresse wird dabei zu keinem Zeitpunkt gespeichert, auch nicht kurzzeitig protokolliert. Ohne eine dauerhafte Kennung oder gespeicherte IP-Adresse lässt sich daraus niemand identifizieren — deshalb braucht diese Zählung kein Cookie-Banner.

Verantwortlich

Lars Stahl
Florapromenade 19
25335 Elmshorn
E-Mail: info@notfall-mesh.de

Das Projekt ist nicht kommerziell.

Welche Daten auf deinem Gerät entstehen

DatenZweckWo
Kryptografisches Schlüsselpaar (deine Identität) Damit Nachrichten signiert und für dich verschlüsselt werden können Nur auf dem Gerät, zusätzlich durch den Android-Schlüsselspeicher gesichert
Selbstgewählter Anzeigename Damit andere sehen, von wem eine Nachricht stammt Auf dem Gerät; wird mit deinen Nachrichten verschlüsselt mitgesendet
Nachrichten, Sprachaufnahmen, Bilder, empfangene Dateien Der Chatverlauf Nur auf dem Gerät; die Texte werden dort verschlüsselt abgelegt (Android-Schlüsselspeicher)
Gesprächston Ein laufendes Gespräch Nirgends. Der Ton geht verschlüsselt direkt an das Gerät des Gegenübers und wird nach dem Abspielen verworfen — er wird auf keiner Seite gespeichert
Anrufliste Damit du siehst, wer angerufen hat — auch, wenn du es nicht mitbekommen hast — und zurückrufen kannst Nur auf dem Gerät: Name, Richtung, Zeitpunkt und Dauer. Kein Gesprächsinhalt, denn den gibt es nirgends. Einzelne Einträge und die ganze Liste lassen sich in der App löschen
Gemerkte Orte auf der Karte Damit du einen Punkt unter eigener Bezeichnung wiederfindest, etwa „Zur Mole“ Bezeichnung und Koordinate, nur auf dem Gerät und verschlüsselt abgelegt. Von selbst geht davon nichts hinaus; du kannst einen gemerkten Ort aber bewusst als Standortnachricht verschicken
Selbst festgelegte Orte zu Kontakten Damit du einen Kontakt auf der Karte unter deiner eigenen Bezeichnung wiederfindest, etwa „Zelt 4“ Bezeichnung und Koordinate, nur auf dem Gerät und verschlüsselt abgelegt; wird nie gefunkt. Ein Kontakt darf mehrere haben („zu Hause“, „Büro“). Auf der Kartenseite unter „Von Kontakten“ und in der Kartensuche wieder entfernbar
Ausgeblendete Standorte Damit ein empfangener Standort nicht mehr auf der Karte erscheint, ohne die Nachricht zu löschen Nur auf dem Gerät: die Kennungen der ausgeblendeten Nachrichten, sonst nichts
Kontakte (öffentliche Schlüssel anderer Geräte) Adressbuch der App Nur auf dem Gerät. Das Adressbuch deines Telefons wird nicht gelesen
Deine Notizen, eigenen Felder und Profilbilder zu Kontakten/Kanälen Persönliche Ordnung deines Adressbuchs Nur auf dem Gerät; Notizen und Feldwerte werden verschlüsselt abgelegt (Android-Schlüsselspeicher). Ausnahme: dein eigenes Profilbild, wenn du das Teilen einschaltest (siehe unten)
Fremde, verschlüsselte Pakete Weiterleitung im Netz (siehe unten) Zwischenspeicher auf dem Gerät, zeitlich begrenzt
Zähler für die Statistik Anzeige, wie viele fremde Pakete das Gerät weitergereicht hat — insgesamt und je Stunde für die letzten 24 Stunden. Nur Anzahlen, keine Inhalte und keine Angabe, wer in der Nähe war; stundengenau und nicht feiner, damit daraus kein Bewegungsprofil entsteht. Einstellungen der App auf dem Gerät
Markierung „meine Brücke“ zu einem Kontakt Damit auffällt, wenn ein selbst aufgestelltes Gerät verstummt. Dazu wird verglichen, wann zuletzt etwas von ihm ankam — ein Wert, den die App ohnehin führt. Nur auf dem Gerät. Wird nie gefunkt, der Kontakt erfährt nichts davon, und sie ist auch nicht Teil der Sicherungsdatei
Empfangsstärke einer Brücke Anzeige beim Prüfen eines aufgestellten Geräts, um seinen Standort zu finden Nur im Arbeitsspeicher und nur, solange das Prüffenster offen ist. Es wird nichts aufgezeichnet — es entsteht also kein Verlauf darüber, wer wann wie nah war
Abdrücke begegneter Geräte Damit die Anzeige „begegnete Knoten“ dasselbe Gerät nicht doppelt zählt. Gespeichert werden drei Byte je Gerät — genug zum Wiedererkennen, zu wenig für ein Verzeichnis, wem man begegnet ist. Einstellungen der App auf dem Gerät

Verschlüsselung im Ruhezustand

Die empfindlichsten Daten liegen auf dem Gerät nicht im Klartext: die privaten Identitätsschlüssel, die Kanalschlüssel samt Zugangscodes und die Nachrichtentexte sowie deine Kontaktnotizen, Feldwerte, gemerkten Orte und die selbst festgelegten Orte zu Kontakten werden mit einem gerätegebundenen Schlüssel aus dem Android-Schlüsselspeicher verschlüsselt gespeichert. Wer nur die Datenbankdatei erbeutet (etwa forensisch), kann daraus weder Inhalte noch Schlüssel lesen. Nicht verschlüsselt sind Metadaten wie Zeitstempel, Paketnummern und Absenderkennungen; die Datenbank selbst bleibt entsperrt, damit das Gerät auch im gesperrten Zustand weiter Pakete für andere weiterleiten kann. Gegen einen Angreifer, der das laufende, entsperrte Gerät beherrscht, schützt das nicht — dafür gibt es die App-Sperre, die optionale Auto-Löschung nach mehreren falschen PIN-Eingaben und die Panik-Löschung.

Was über Bluetooth übertragen wird

Deine Nachrichten

Nachrichten sind Ende-zu-Ende-verschlüsselt. Bei Direktnachrichten steht der Empfänger nicht im Paket — Geräte, die die Nachricht weiterleiten, können weder den Inhalt lesen noch erkennen, für wen sie bestimmt ist. Bei Kanälen kann jeder mitlesen, der den Zugangscode des Kanals hat. Dein Anzeigename reist verschlüsselt mit jeder Nachricht mit.

Gespräche

Ein Gespräch geht nur zu einem Gerät in direkter Funkreichweite und wird nirgends gespeichert oder weitergetragen. Das Klingelzeichen enthält deinen Fingerabdruck, deinen Anzeigenamen und den Fingerabdruck des Gemeinten — verschlüsselt für ihn. Es geht an alle Nachbarn in Reichweite hinaus, weil sich vorher nicht bestimmen lässt, über welche Verbindung der Gemeinte hängt; lesen kann es aber nur er. Für alle anderen ist es Rauschen: Sie erfahren weder, wer anruft, noch wen, noch dass überhaupt jemand angerufen wurde. Sobald das Gegenüber antwortet, steht sein Weg fest, und alles Weitere — vor allem der Ton — geht ausschließlich dorthin.

Eine Zugabe für den Ton: Kann dein Gerät die WLAN-Technik „Wi-Fi Aware“, legt es für die Dauer des Gesprächs eine direkte Funkstrecke zum Gerät des Gegenübers und schickt den Ton darüber — das klingt deutlich besser. Diese Strecke entsteht mit dem Gespräch und verschwindet mit ihm; sie hat einen für jeden Anruf neu abgeleiteten Namen, an dem sich kein Gerätepaar über die Zeit wiedererkennen lässt, und ihr Passwort stammt aus dem Sitzungsgeheimnis der beiden Gesprächspartner. Der Ton ist davon unabhängig ohnehin einzeln verschlüsselt. Ins Internet geht dabei nichts: Die Strecke führt ausschließlich von Gerät zu Gerät. Abschalten kannst du das unter „Ich“ → Einstellungen → Anrufe; kommt die Strecke nicht zustande, läuft das Gespräch unverändert über Bluetooth weiter.

“Who is in range?”

When you open the call dialog, the app asks your direct contacts who is currently reachable. The same question also goes out automatically whenever a new device comes into range — for the green dot on a contact’s picture that shows who has recently keyed up. At most once a minute, so a single encounter does not trigger a whole round of questions. The question goes out as an ordinary, encrypted direct message to each of them individually and travels exactly one radio hop. Only the respective contact can read it; strangers in range do not even learn that a question was asked. Whoever answers reveals that they are in range — but only to you, and only because you are in their address book.

„Wer ist in Reichweite?“

Öffnest du den Anrufdialog, fragt die App deine Direktkontakte, wer gerade erreichbar ist. Dieselbe Frage geht auch automatisch hinaus, sobald ein neues Gerät in Reichweite auftaucht — für den grünen Punkt am Kontaktbild, der zeigt, wer kürzlich gefunkt hat. Höchstens einmal pro Minute, damit nicht jede einzelne Begegnung eine ganze Fragerunde auslöst. Die Frage geht als gewöhnliche, verschlüsselte Direktnachricht an jeden einzeln hinaus und reicht genau einen Funkschritt weit. Lesen kann sie nur der jeweilige Kontakt; Fremde in Reichweite erfahren nicht einmal, dass gefragt wurde. Wer antwortet, gibt damit preis, dass er in Reichweite ist — aber nur dir gegenüber, und nur weil du in seinem Adressbuch stehst.

Beitritt und Verlassen eines Kanals

Trittst du einem Kanal bei oder verlässt ihn, schickt dein Gerät eine kurze Meldung in diesen Kanal; sie erscheint dort mit deinem Anzeigenamen und der Uhrzeit. Sie ist wie alles andere mit dem Kanalschlüssel verschlüsselt und erreicht nur, wer in diesem Kanal ist. In offenen Kanälen unterbleibt sie — dort wäre sie eine Anwesenheitsmeldung an Fremde. Abschalten lässt sich das in der App unter „Ich“ → Sicherheit.

Mehrere Geräte

Du kannst ein zweites Gerät mit derselben Identität betreiben. Dazu wird die Sicherungsdatei dort eingespielt und der Schalter auf beiden Geräten gesetzt. Damit liegt dein privater Schlüssel auf zwei Geräten — wer eines davon in die Hand bekommt, hat die ganze Identität, und ein einzelnes Gerät lässt sich nicht abmelden. Eingeschaltet gehen Direktnachrichten zusätzlich als Durchschrift an dich selbst über das Netz; sie sind wie alles andere für dich verschlüsselt, brauchen aber ein zweites Paket. Kanalnachrichten erreichen beide Geräte ohnehin, weil der Kanalschlüssel auf beiden liegt. Die Voreinstellung ist aus.

Profilbild (nur so weit, wie du es erlaubst)

Du kannst dir ein Profilbild geben. Ein Gesicht ist ein Erkennungsmerkmal, deshalb geht es standardmäßig an niemanden. Unter „Ich“ → Profil wählst du selbst die Reichweite; jede Stufe schließt die vorherige ein:

Was einmal übertragen wurde, liegt auf fremden Geräten: Ein späteres Abschalten holt es nicht zurück. Bilder, die du Kontakten oder Kanälen lokal zuweist, verlassen das Gerät nie.

Ortssuche

Die Suche nach Ortsnamen und Postleitzahlen läuft ausschließlich auf dem Gerät. Das Verzeichnis ist Teil der App; es wird beim ersten Gebrauch einmal ausgepackt und danach nur gelesen. Es geht keine Suchanfrage nach außen, und es entsteht kein Protokoll darüber, wonach du gesucht hast — weder bei uns noch auf dem Gerät.

Dateien an andere Programme

Empfangene Dateien wertet die App nicht selbst aus — sie stammen von Fremden. Tippst du auf „Öffnen“, schreibt sie die Datei kurz in ihren eigenen Zwischenspeicher, der vorher geleert wird, und reicht sie nur lesend an das Programm weiter, das Android für diesen Dateityp vorsieht. Was dieses Programm damit tut, richtet sich nach dessen eigenen Bestimmungen, nicht nach diesen hier. Über „Speichern“ bestimmst du stattdessen selbst den Ablageort.

Anwesenheit in privaten Kanälen

In einem privaten Kanal gibt es „Wer ist da?“. Fragst du an, antwortet dein Gerät auch auf fremde Anfragen automatisch mit deinem Anzeigenamen — so erfahren die anderen Kanalmitglieder, dass du gerade erreichbar bist. Diese Meldungen sind wie alles kanalverschlüsselt und erreichen nur Mitglieder des Kanals. Im öffentlichen Notruf-Kanal gibt es diese Funktion bewusst nicht.

Fremde Nachrichten

Das ist der Kern der App: Dein Gerät nimmt verschlüsselte Pakete fremder Nutzer entgegen, hält sie eine begrenzte Zeit vor und gibt sie an andere Geräte weiter, sobald welche in Reichweite kommen. Diese Pakete kannst weder du noch die App lesen. Ohne diese gegenseitige Weiterleitung gäbe es kein Netz.

Die Vorhaltezeit ist in der App einstellbar (2 bis 72 Stunden, voreingestellt 12 Stunden). Bei reichweitenbegrenzten Nachrichten ist sie kürzer — je nach Stufe 30 Minuten, 2 oder 6 Stunden; es gilt immer die kürzere Frist. Notrufe bleiben doppelt so lange. Danach werden fremde Pakete automatisch gelöscht, ebenso wenn der Zwischenspeicher voll läuft.

Das Funksignal selbst

Solange die App läuft, sendet dein Gerät ein Bluetooth-Signal aus, damit andere Geräte es finden können. Dieses Signal enthält eine Kennung der App sowie vier Byte einer zufällig erzeugten Gerätekennung, die nicht aus deinen Schlüsseln abgeleitet ist und bei einem Identitätswechsel neu gezogen wird. Daneben steht ein Erkennungszeichen aus sechs weiteren Byte: eine Zufallszahl und ein Abdruck daraus. Nachrechnen kann ihn nur, wer dich als Kontakt hat — für alle anderen ist es Rauschen, das alle zehn Minuten wechselt, und es entsteht daraus kein Merkmal, an dem sich dein Gerät über die Zeit wiedererkennen liesse. Es dient einem einzigen Zweck: dass ein Anruf sein Ziel findet, wenn viele Geräte beieinanderstehen. Es enthält nicht den Namen deines Telefons und keinen Klarnamen.

Wer in Funkreichweite ist und danach sucht, kann daran jedoch erkennen, dass in seiner Nähe ein Gerät mit dieser App läuft. Das lässt sich technisch nicht vermeiden — ein Gerät, das gefunden werden will, muss sich zu erkennen geben. Wenn das in deiner Lage ein Risiko darstellt, beende die App.

Berechtigungen und wofür sie gebraucht werden

BerechtigungWofür
Bluetooth (Suchen, Sichtbarkeit, Verbinden) Der Weg für alles: Nachrichten, Bilder, Dateien, Klingelzeichen. Nur der Ton eines laufenden Gesprächs kann daneben eine direkte WLAN-Strecke nehmen, wenn beide Geräte sie können und erlauben
Geräte in der NäheNur für die schnelle Sprachverbindung im Gespräch, und ausdrücklich ohne Standortbezug — Android kennt dafür eine eigene Kennzeichnung, die die App setzt. Wird sie verweigert, laufen Gespräche wie gewohnt über Bluetooth
Standort Nicht zum Orten. Android verlangt diese Berechtigung zwingend für die Suche nach Bluetooth-Geräten, weil sich daraus theoretisch der Aufenthaltsort ableiten ließe. Die App wertet deinen Standort nur dann aus, wenn du ihn ausdrücklich sendest — über „Standort senden" oder als Anhang eines Notrufs.
Kamera Nur zum Scannen eines Kontakt-QR-Codes und zum Aufnehmen eines Bildes, jeweils auf deine Auslösung hin. Eine Aufnahme landet kurz im app-eigenen Zwischenspeicher und wird beim nächsten Mal überschrieben; in deine Galerie kommt sie nicht. Wählst du stattdessen ein vorhandenes Bild aus, um einen QR-Code daraus zu lesen, geschieht das ausschließlich auf dem Gerät; die App sieht nur das eine ausgewählte Bild und bekommt keinen Zugriff auf deine Galerie
Mikrofon Für Sprachnachrichten, die du selbst aufnimmst, und für Gespräche, die du führst — jeweils nur, solange du aufnimmst oder telefonierst. Ein Gespräch wird nicht aufgezeichnet: Der Ton wird verschlüsselt an das Gerät des Gegenübers übertragen und danach verworfen. Weder auf deinem noch auf dessen Gerät bleibt etwas davon zurück
Internet, Netzwerkzustand Ausschließlich für das Herunterladen eines Kartenpakets, und nur wenn du eine Region antippst. Nachrichten laufen nie darüber
Vordergrunddienst, Benachrichtigungen Damit das Gerät auch bei ausgeschaltetem Bildschirm weiter als Brücke arbeitet und dich über neue Nachrichten informiert
Bildschirm im Gespräch Im Gespräch bittet die App Android, den Bildschirm auszuschalten, solange etwas dicht davor ist — sonst drückt die Wange auf die Knöpfe. Den Näherungssensor liest die App nicht selbst aus: Sie bekommt keinen Messwert, und gespeichert wird davon nichts
Start bei Systemstart, Akku-Ausnahme Damit das Netz nach einem Neustart weiterläuft und Android die Weiterleitung nicht abschaltet
Speicher (nur bis Android 9) Nur, wenn du ein empfangenes Bild in deine Galerie speicherst

Standortdaten

Dein Standort wird niemals automatisch, im Hintergrund oder wiederholt gesendet. Er verlässt das Gerät ausschließlich, wenn du ihn in einem konkreten Moment bewusst abschickst.

Beim gewöhnlichen Teilen kannst du zwischen genauem und auf etwa 550 Meter gerundetem Standort wählen. Bei einem Notruf wird der Standort genau gesendet — gerundet würde dich niemand finden.

Beachte: In einem Kanal erreicht ein gesendeter Standort alle, die den Zugangscode des Kanals haben. Im öffentlichen Notruf-Kanal ist das jeder in Reichweite.

Offline-Karten und die einzige Internet-Verbindung

Die App benutzt das Internet an genau einer Stelle: beim Herunterladen eines Kartenpakets — und nur dann, wenn du in den Einstellungen eine Region antippst. Dabei erfährt der Server (notfall-mesh.de), dass jemand von deiner IP-Adresse eine bestimmte Kartendatei angefordert hat. Es werden keine Kennungen, keine Nachrichten, keine Kontakte und keine Standorte übertragen. Ein Nutzerkonto gibt es nicht, eine Zuordnung zu deiner Person findet nicht statt.

Wer auch das vermeiden möchte, lädt die Datei mit dem Browser herunter und importiert sie in der App. Dann stellt die App selbst nie eine Verbindung her.

Die Kartenansicht arbeitet ausschließlich mit dem, was auf dem Gerät liegt. Es gibt keine Kartenabfrage im Netz und damit kein Zugriffsprotokoll bei einem Kartendienst, das verriete, welchen Ausschnitt du wann betrachtet hast. Wo du auf der Karte hinschaust oder welchen Punkt du auswählst, wird nirgends festgehalten; erst wenn du einen Standort abschickst, verlässt er als Nachricht das Gerät — nach denselben Regeln wie oben.

Ein Kartenpaket enthält Kartendaten ohne Personenbezug. Alles Übrige bleibt unverändert: Nachrichten laufen ausnahmslos über Bluetooth, es gibt keinen Nachrichten-Server, keine Konten, keine Analysewerkzeuge und keine Werbung.

Der öffentliche Notruf-Kanal

Die App enthält einen Kanal namens „Notruf" mit einem fest eingebauten, öffentlich bekannten Passwort. Er existiert, damit sich Fremde im Ernstfall überhaupt erreichen können, ohne vorher etwas verabredet zu haben. Er ist ausdrücklich nicht vertraulich — jeder mit dieser App kann alles darin mitlesen. Für Vertrauliches gibt es eigene Kanäle mit selbst gewähltem Passwort und Direktnachrichten.

Speicherdauer und Löschung

Die App legt keine Sicherung in einer Cloud an. Die automatische Android-Sicherung ist abgeschaltet. Eine Sicherung entsteht nur, wenn du sie in der App selbst erzeugst — sie ist passwortverschlüsselt, und wo du sie ablegst, entscheidest du.

Weitergabe an Dritte

Es findet keine statt. Es gibt keine Auftragsverarbeiter, keine Analysedienste, keine Werbenetzwerke und keine Schnittstellen zu sozialen Netzwerken. Die einzige Internetverbindung der App ist der Kartendownload, den du selbst auslöst (siehe oben); dabei wird nichts über dich übertragen außer der IP-Adresse, die jeder Abruf mit sich bringt.

Der einzige weitere Verweis nach außen ist ein Spendenlink, den du selbst antippen musst. Erst dann öffnet dein Browser die Seite von PayPal, für die deren eigene Datenschutzbestimmungen gelten.

Deine Rechte

Nach der Datenschutz-Grundverordnung stehen dir Auskunft, Berichtigung, Löschung, Einschränkung, Datenübertragbarkeit und Widerspruch zu. In der Praxis läuft das weitgehend ins Leere, weil uns keine personenbezogenen Daten von dir vorliegen: Es gibt keinen Nachrichten-Server und keine Konten, und was der Webserver beim Seitenaufruf oder beim Kartendownload sieht, steht oben — es ist keiner Person zuzuordnen. Alle Daten liegen auf deinem Gerät und stehen dort unter deiner Kontrolle. Bei Fragen erreichst du uns unter info@notfall-mesh.de.

Dir steht außerdem ein Beschwerderecht bei einer Datenschutz-Aufsichtsbehörde zu.

Kinder

Die App richtet sich nicht an Kinder und erhebt wissentlich keine Daten von Kindern.

Änderungen

Ändert sich die Funktionsweise der App, wird diese Erklärung angepasst. Maßgeblich ist die jeweils hier veröffentlichte Fassung.


Privacy Policy

BLE Notfall-Mesh · Last updated: 25 August 2026

The short version

This app has no servers for messages. There are no accounts, no registration, no phone number and no sign-in. The app contains no analytics, no advertising and no trackers. On its own it transmits nothing over the internet — not at startup, not during use, never. Over Bluetooth it certainly does transmit: that is its purpose, and what goes out is described below under “What is transmitted over Bluetooth”.

There is exactly one exception, and you trigger it yourself: downloading an offline map. The app then fetches a file from notfall-mesh.de, and that server inevitably sees your IP address — as every web server does on every request. Nothing more: no identifier, no message, no location. If you would rather avoid even that, download the file in a browser and import it; the app then never touches the network.

Everything the app stores stays on your device. Messages travel only over Bluetooth Low Energy, from device to device.

This website counts page views — self-hosted, with no cookies and no third-party analytics service. What gets stored is only: which page, rounded to the hour, which domain referred you, and a rough region (usually just derived from your browser's language setting, not real geolocation). Your IP address is never stored, not even briefly logged. Without a persistent identifier or a stored IP address, none of this can identify anyone — which is why this count needs no cookie banner.

Controller

Lars Stahl
Florapromenade 19
25335 Elmshorn, Germany
E-mail: info@notfall-mesh.de

This is a non-commercial project.

What is stored on your device

DataPurposeWhere
Cryptographic key pair (your identity) So messages can be signed and encrypted for you On the device only, additionally protected by the Android keystore
Display name you choose So others can see who a message is from On the device; sent encrypted along with your messages
Messages, voice recordings, pictures, received files Your chat history On the device only; the texts are stored encrypted there (Android keystore)
Call audio A call in progress Nowhere. The audio goes encrypted straight to the other device and is discarded after playback — it is not stored on either side
Call list So you can see who called — including when you missed it — and call back On the device only: name, direction, time and duration. No call content, because none exists anywhere. Single entries and the whole list can be deleted in the app
Places you save on the map So you can find a point again under a name of your own, such as “to the pier” Name and coordinates, on the device only and stored encrypted. Nothing leaves on its own; you can, however, deliberately send a saved place as a location message
Places you set for contacts So you can find a contact on the map under a name you chose, such as “tent 4” On the device only, stored encrypted; never transmitted. Removable again in the map search
Hidden locations So a received location no longer appears on the map without deleting the message On the device only: the identifiers of the hidden messages, nothing else
Contacts (public keys of other devices) The app's address book On the device only. Your phone's own contacts are not accessed
Your notes, custom fields and profile pictures for contacts/channels Organising your address book On the device only; notes and field values are stored encrypted (Android keystore). Exception: your own profile picture if you turn on sharing (see below)
Foreign, encrypted packets Relaying through the mesh (see below) Temporary store on the device, time-limited
Counters for the statistics Showing how many foreign packets the device has carried onward — in total and per hour for the last 24 hours. Counts only, no content and no record of who was nearby; by the hour and no finer, so that no movement profile can be derived. App settings on the device
The “my bridge” mark on a contact So that it is noticed when a device you set up yourself falls silent. For this, the app compares when something last arrived from it — a value it keeps anyway. On the device only. It is never transmitted, the contact never learns of it, and it is not part of the backup file either
Signal strength of a bridge Shown while checking a device you set up, to help find its spot In memory only and only while the check window is open. Nothing is recorded — so no history of who was how close, and when, comes into being
Marks of devices encountered So the “nodes encountered” figure does not count the same device twice. Three bytes per device are stored — enough to recognise it again, too little to become a record of who you met. App settings on the device

Encryption at rest

The most sensitive data does not sit in plaintext on the device: the private identity keys, the channel keys with their access codes, the message texts and your contact notes, field values, saved places and the places you set for contacts are stored encrypted with a device-bound key from the Android keystore. Someone who only captures the database file (forensically, say) cannot read contents or keys from it. Not encrypted are metadata such as timestamps, packet numbers and sender ids; the database itself stays unlocked so the device keeps forwarding packets for others even while locked. This does not protect against an attacker who controls the running, unlocked device — for that there are the app lock, the optional auto-erase after several wrong PIN entries, and the panic erase.

What is transmitted over Bluetooth

Your messages

Messages are end-to-end encrypted. Direct messages do not name their recipient — devices relaying a message can neither read its content nor tell who it is for. In a channel, anyone who knows the channel’s access code can read along. Your display name travels encrypted with every message.

Calls

A call only works to a device in direct radio range and is never stored or relayed. The ring signal contains your fingerprint, your display name and the fingerprint of the intended recipient — encrypted for them. It goes out to every neighbour in range, because there is no way to know in advance which link the intended device is on; but only they can read it. To everyone else it is noise: they learn neither who is calling, nor whom, nor that a call happened at all. As soon as the other side answers, their path is known, and everything after that — the audio above all — travels only there.

An extra for the audio: if your device supports the Wi-Fi technology “Wi-Fi Aware”, it sets up a direct radio link to the other device for the duration of the call and sends the audio over it — which sounds noticeably better. That link is created with the call and disappears with it; its name is derived anew for every call, so no pair of devices can be recognised over time, and its password comes from the session secret shared by the two parties. The audio is separately encrypted regardless. Nothing goes to the internet: the link runs strictly device to device. You can turn it off under “Me” → Settings → Calls; if the link never comes up, the call carries on over Bluetooth unchanged.

Joining and leaving a channel

When you join or leave a channel, your device sends a short notice into that channel; it appears there with your display name and the time. Like everything else it is encrypted with the channel key and reaches only those inside that channel. In open channels it is omitted — there it would tell strangers someone is present. You can switch this off in the app under “Me” → Security.

Multiple devices

You can run a second device on the same identity. To do so the backup file is restored there and the switch is set on both devices. Your private key then exists on two devices — whoever gets hold of either one has the whole identity, and a single device cannot be signed out. When switched on, direct messages additionally travel through the network as a carbon copy to yourself; like everything else they are encrypted for you, but they need a second packet. Channel messages reach both devices anyway, because the channel key is on both. The default is off.

Profile picture (only as far as you allow)

You can set a profile picture. A face identifies you, so it goes to nobody by default. Under “Me” → Profile you choose the reach yourself; each level includes the one before it:

Once transmitted, it sits on other people’s devices: switching the setting off later does not take it back. Pictures you assign locally to contacts or channels never leave the device.

Place search

Searching for place names and postcodes runs entirely on the device. The index is part of the app; it is unpacked once on first use and only ever read afterwards. No search request leaves the device, and no record is kept of what you looked for — neither by us nor on the device.

Files handed to other apps

The app does not interpret received files itself — they come from strangers. If you tap “Open”, it briefly writes the file to its own cache, which is emptied first, and hands it read-only to whichever app Android provides for that file type. What that app does with it follows its own terms, not these. With “Save” you choose the destination yourself instead.

Presence in private channels

A private channel offers “Who is here?”. If you ask, your device also answers others’ requests automatically with your display name — so the channel members learn that you are currently reachable. These messages are channel-encrypted like everything else and reach only members who are inside that channel. The public emergency channel deliberately has no such feature.

Other people's messages

This is the core of the app: your device accepts encrypted packets from strangers, holds them for a limited time and passes them on to other devices when they come into range. Neither you nor the app can read those packets. Without this mutual relaying there would be no network.

The retention time is configurable in the app (2 to 72 hours, 12 by default). For range-limited messages it is shorter — 30 minutes, 2 or 6 hours depending on the step; the shorter of the two always applies. Emergency calls stay twice as long. After that, foreign packets are deleted automatically, as they are when the store runs full.

The radio signal itself

While the app is running, your device broadcasts a Bluetooth signal so other devices can find it. That signal contains an identifier for the app and four bytes of a randomly generated, key-independent device identifier. It does not contain your phone's name or any real name. Alongside it there is a recognition mark of six further bytes: a random number and a digest derived from it. Only someone who has you as a contact can recompute it — for everyone else it is noise that changes every ten minutes, and no feature arises from it by which your device could be recognised over time. It serves a single purpose: that a call finds its target when many devices are close together.

Anyone within radio range who looks for it can nevertheless tell that a device running this app is nearby. This cannot be avoided — a device that wants to be found has to make itself known. If that is a risk where you are, close the app.

Permissions and why they are needed

PermissionWhy
Bluetooth (scan, advertise, connect)The path for everything: messages, pictures, files, ring signals. Only the audio of a call in progress may take a direct Wi-Fi link alongside it, where both devices can do so and allow it
Nearby devicesOnly for the fast voice link during a call, and explicitly without any location reference — Android has a dedicated flag for this, which the app sets. If declined, calls run over Bluetooth as usual
Location Not for locating you. Android requires this permission for Bluetooth scanning, because scan results could in theory reveal a position. The app only reads your location when you deliberately send it — via “Share location” or attached to an emergency call.
CameraOnly to scan a contact QR code and to take a picture, each time on your action. A photo is briefly written to the app’s own cache and overwritten the next time; it does not go into your gallery. If you instead pick an existing picture to read a QR code out of it, that happens entirely on the device; the app only sees the one picture you choose and gets no access to your gallery
MicrophoneFor voice messages you record yourself and for calls you make — in each case only while you are recording or talking. A call is not recorded: the audio is encrypted, sent to the other device and then discarded. Nothing of it remains on your device or theirs
Internet, network stateSolely for downloading a map package, and only when you tap a region. Messages never travel over it
Foreground service, notificationsSo the device keeps relaying with the screen off and can tell you about new messages
Screen during a callDuring a call the app asks Android to turn the screen off while something is close in front of it — otherwise your cheek presses the buttons. The app does not read the proximity sensor itself: it gets no reading, and nothing of it is stored
Start on boot, battery exemptionSo the mesh keeps working after a restart and Android does not shut relaying down
Storage (Android 9 and older only)Only if you save a received picture to your gallery

Location data

Your location is never sent automatically, in the background, or repeatedly. It leaves the device only when you deliberately send it at a given moment.

When sharing normally you can choose between an exact position and one rounded to roughly 550 metres. In an emergency call the position is sent exactly — rounded, nobody would find you.

Note that a location sent to a channel reaches everyone holding that channel’s access code. In the public emergency channel, that is everyone in range.

Offline maps and the app's only internet connection

The app uses the internet in exactly one place: downloading a map package — and only when you tap a region in the settings. The server (notfall-mesh.de) then learns that someone at your IP address requested a particular map file. No identifiers, no messages, no contacts and no locations are transmitted. There is no user account and no attribution to your person.

If you want to avoid even that, download the file with a browser and import it in the app. The app itself then never opens a connection.

The map view works exclusively with what is stored on the device. There is no map request over the network and therefore no access log at a map service revealing which area you viewed and when. Where you look on the map or which point you pick is recorded nowhere; only when you send a location does it leave the device as a message — under the same rules as above.

A map package contains map data with no personal reference. Everything else is unchanged: messages travel exclusively over Bluetooth, there is no message server, no accounts, no analytics and no ads.

The public emergency channel

The app contains a channel called “Notruf” with a built-in, publicly known access code. It exists so that strangers can reach each other in an emergency without having agreed on anything beforehand. It is explicitly not confidential — anyone with this app can read everything in it. For anything confidential, create your own channel and hand its invitation only to whoever you want, or use a direct chat.

Retention and deletion

The app creates no cloud backup. Android's automatic backup is disabled. A backup exists only if you create one inside the app — it is password-encrypted, and where you keep it is up to you.

Disclosure to third parties

There is none. No processors, no analytics services, no ad networks, no social network integrations. Messages never touch the internet — they travel exclusively over Bluetooth.

The app opens a connection in exactly one case: when you tap a region to download an offline map (see below). Nothing about you is transmitted in that request beyond the technically unavoidable IP address.

The only outward link is a donation link you have to tap yourself. Only then does your browser open PayPal's page, where their own privacy terms apply.

Your rights

Under the GDPR you have the right to access, rectification, erasure, restriction, data portability and objection. In practice there is little to exercise them against, because we hold no personal data about you: there is no message server and no account, and what the web server sees when a page is loaded or a map is downloaded is described above — none of it can be attributed to a person. All data is on your device and under your control. You can reach us at info@notfall-mesh.de.

You also have the right to lodge a complaint with a data protection supervisory authority.

Children

The app is not directed at children and knowingly collects no data from children.

Changes

If the way the app works changes, this policy will be updated. The version published here is the one that applies.