Responsable y contacto
Javier Ismael Nabte Ake, con domicilio en Calle 88 No. 677, C.P. 97000, Mérida, Yucatán, México, es responsable del tratamiento de los datos personales descritos en este aviso. Para dudas o solicitudes de privacidad, escribe a ismanabte@gmail.com.
Resumen
- No hay cuenta ni registro. La app no se comunica con servidores del desarrollador ni de terceros: no hay nada que recopilar porque no hay a dónde enviarlo.
- Sin analítica, sin publicidad, sin rastreo y sin SDKs de terceros.
- Ghostwave no pide ni usa tu ubicación, tus contactos, tus fotos ni la cámara.
- La voz y los mensajes viajan directamente entre teléfonos cercanos. La voz no se guarda; el historial de mensajes se guarda cifrado solo en tu iPhone.
- Esto no es anonimato: los teléfonos cercanos ven tu indicativo, tu canal y un identificador de instalación, y lo que envías sin PIN puede ser oído por cualquiera dentro del alcance. Los detalles están abajo.
- Etiqueta de privacidad de Apple: «Datos no recopilados».
Qué ven los teléfonos cercanos
Para que los teléfonos se encuentren y se entiendan, Ghostwave anuncia y envía por Wi‑Fi y Bluetooth (MultipeerConnectivity, de Apple), a quien esté dentro del alcance:
- tu indicativo (el alias que tú eliges) y tu canal;
- tu nivel de batería;
- un identificador aleatorio de instalación de 8 caracteres, que existe para que «silenciar» siga funcionando entre sesiones y para distinguir a dos personas con el mismo indicativo;
- tu clave pública de cifrado (la mitad pública de la clave X25519 de tu instalación, usada para los privados 1 a 1);
- una etiqueta de pertenencia a escuadrón de 16 bytes: con PIN solo quien tiene el mismo PIN puede comprobarla, y sin PIN es aleatoria, de modo que desde fuera no se nota si existe un escuadrón;
- el contenido que envías (voz, texto, balizas) con tu indicativo, canal e identificador;
- en un privado 1 a 1, el identificador de la persona a quien le hablas: el contenido va cifrado, pero quién habla con quién es visible para los teléfonos cercanos.
Otros teléfonos pueden retransmitir tus paquetes (hasta 3 saltos) si tienen activado el repetidor de malla, que viene encendido por defecto y se apaga en Ajustes. Los paquetes cifrados no pueden leerse al pasar por un repetidor.
Nada de esto llega al desarrollador. Quien esté cerca puede reconocer tu identificador de instalación entre sesiones; si eso te preocupa, elige un indicativo que no te identifique y usa un PIN de escuadrón. Reinstalar la app genera un identificador nuevo.
Qué va cifrado y qué no
- Con PIN de escuadrón: la voz, los mensajes de texto y las balizas se cifran con ChaCha20‑Poly1305, con una clave derivada del PIN (PBKDF2 con 100 000 iteraciones), y solo se envían a los teléfonos que demostraron conocer el mismo PIN. El PIN nunca se transmite.
- Privados 1 a 1: el texto y la voz se cifran con una clave que comparten solo los dos teléfonos (acuerdo X25519 más HKDF y ChaCha20‑Poly1305), sin PIN que compartir.
- Siempre en abierto: los anuncios de presencia (lista de arriba), el canal 00, las balizas SOS y todo lo que envíes sin PIN y sin privado. Ghostwave no usa el cifrado de transporte de Multipeer: el cifrado es el de la propia app, descrito aquí.
Límites que debes conocer. Sin PIN, cualquiera dentro del alcance que use un programa adecuado puede oír o leer lo que envías: el canal no es una barrera de seguridad. Un PIN de 6 dígitos tiene solo un millón de combinaciones, así que quien haya grabado el tráfico puede probarlas sin conexión; deja que el PIN caduque. No hay secreto hacia adelante: las claves son duraderas. En los privados, la primera clave que un teléfono ve de otro es la que fija (confianza en el primer uso); compara el código de seguridad en persona para descartar a un intermediario.
Micrófono y voz
El micrófono se usa solo mientras mantienes presionado el botón para hablar (o, si activas el modo manos libres, hasta que lo termines). La voz se comprime y se envía a los teléfonos cercanos; no se graba ni se guarda en ningún archivo. En la memoria de cada teléfono se conserva únicamente el último audio recibido, para la función «repetir último mensaje», y desaparece al cerrar la app.
Mientras la radio está encendida, la app mantiene el audio activo en segundo plano (modo «audio» de iOS, con un sonido silencioso) para seguir recibiendo con la pantalla bloqueada. Eso no graba nada.
Transcripción opcional (reconocimiento de voz)
Viene apagada. Si la activas, Ghostwave transcribe en tu iPhone lo que dicen las personas cuya voz recibes, para mostrarlo como texto en pantalla. La transcripción exige reconocimiento en el dispositivo: la app nunca recurre al reconocimiento en servidores de Apple. Si tu iPhone o tu idioma no tienen el modelo en el dispositivo, simplemente no hay transcripción. El texto transcrito se muestra en pantalla y no se guarda.
Mensajes de texto e historial
Los mensajes (hasta 280 caracteres) viajan solo entre teléfonos cercanos, en abierto, con el PIN o en privado, según lo descrito arriba. Tu iPhone guarda un historial de hasta 200 mensajes, con el indicativo e identificador de quien escribe, el canal y la hora, en un archivo cifrado con ChaCha20‑Poly1305 dentro de la carpeta de la app. La clave de 256 bits está en el Llavero de iOS (disponible tras el primer desbloqueo, solo en este dispositivo) y el archivo queda fuera de las copias de seguridad. Pasados 200 mensajes, se olvidan los más viejos.
Puedes borrar todo el historial con el botón de la papelera en el chat («Borrar historial»).
Qué se guarda en tu iPhone
- Preferencias (UserDefaults de iOS): indicativo, canal, radio encendida, repetidor, modo manos libres, avisos de mensajes, transcripción, caducidad del PIN, tu identificador de instalación, la lista de personas silenciadas (indicativo e identificador) y las claves públicas de los teléfonos que has visto cerca (hasta 200, con su estado de verificación y la última vez que se vieron).
- Llavero de iOS, solo en este dispositivo: el PIN de escuadrón y la hora en que lo pusiste, la clave del historial y tu clave privada de cifrado 1 a 1.
- Un archivo cifrado con el historial de mensajes.
Las preferencias pueden entrar en las copias de seguridad de iOS; el archivo del historial y los elementos del Llavero «solo en este dispositivo» no.
Permisos que pide la app
- Micrófono: para hablar, solo mientras mantienes presionado el botón.
- Red local: para encontrar y conectarse con teléfonos cercanos.
- Bluetooth: para conectarse con teléfonos cercanos donde no hay cobertura.
- Notificaciones (opcional): avisos locales de mensajes, transmisiones y SOS. Puedes desactivarlos en Ajustes de iOS, y el aviso de mensajes también con «Notificar mensajes» en la app.
- Reconocimiento de voz (opcional): solo para la transcripción en el dispositivo descrita arriba.
Ghostwave no pide ubicación, contactos, fotos ni cámara. Puedes retirar cualquier permiso desde Ajustes de iOS; sin algunos de ellos la radio funciona de forma limitada.
Notificaciones
Son notificaciones locales: las genera tu propio teléfono cuando recibe un mensaje o una transmisión. Ghostwave no usa servidor de notificaciones ni registra tu teléfono para recibir avisos remotos. El aviso de un mensaje muestra el indicativo y el texto; según tus ajustes de iOS, ese texto puede verse en la pantalla bloqueada.
Silenciar y reportar
La lista de personas silenciadas vive solo en tu teléfono; no se envía a nadie. «Reportar» abre un correo ya preparado que tú decides si envías a soporte (ismanabte@gmail.com). Ese correo incluye el indicativo, el identificador de instalación de la persona reportada, el canal, la fecha y hora y la versión de la app; no incluye el contenido de ningún mensaje ni de ninguna voz. Nada se envía automáticamente. Si lo envías, usamos esa información solo para revisar el caso y la conservamos mientras sea necesario para ello.
Propinas opcionales
La app es gratuita y completa. Si quieres, puedes dejar una propina mediante compras consumibles de Apple (StoreKit). Apple procesa el pago; el desarrollador no recibe tus datos personales de pago. Las propinas no desbloquean nada.
Terceros
Ghostwave no incluye SDKs de terceros ni envía datos por su cuenta. Apple, como operador del App Store y de iOS, puede poner a disposición del desarrollador informes anónimos de fallos y uso si activaste «Compartir con desarrolladores» en los ajustes de iOS; eso lo controla Apple, no la app.
Cómo borrar tus datos
- Historial de mensajes: botón de la papelera en el chat.
- PIN de escuadrón: «Borrar» en el campo del PIN, en Ajustes (también se borra solo al caducar).
- Personas silenciadas: Ajustes → «Nodos silenciados».
- Todo lo demás: elimina la app desde iOS. Se borran el historial y las preferencias. iOS puede conservar elementos del Llavero tras eliminar una app. Al reinstalar, Ghostwave borra el PIN de escuadrón que hubiera quedado. La clave del historial y tu clave privada de cifrado 1 a 1 pueden quedar; sin el archivo del historial, la clave del historial no abre nada.
Como no recibimos una copia de tus datos, no hay nada que puedas pedirnos borrar en un servidor.
Menores de edad
Como la app no tiene cuentas ni recopila datos personales, no recopilamos información de menores. Ghostwave permite hablar con personas cercanas que pueden ser desconocidas, por lo que recomendamos que los menores la usen acompañados. Si crees que un menor nos envió información personal por correo, escríbenos y la eliminaremos.
Aviso importante de uso
Ghostwave no sustituye a un servicio de emergencias. El alcance depende del entorno y no está garantizado. En una emergencia real, llama a los servicios locales.
Tus derechos y cambios a este aviso
Como no recibimos una copia de tus datos, no podemos consultarlos ni borrarlos a distancia. Para ejercer derechos de acceso, rectificación, cancelación u oposición respecto de lo que nos envíes por correo, contáctanos en ismanabte@gmail.com. Si actualizamos las prácticas de privacidad, publicaremos la nueva versión en esta misma dirección e indicaremos su fecha.
Última actualización: 19 de octubre de 2026.
Privacy policy (English)
Controller and contact. Javier Ismael Nabte Ake, Calle 88 No. 677, ZIP 97000, Mérida, Yucatán, Mexico, is the controller of the personal data described here. For privacy questions or requests, write to ismanabte@gmail.com.
Summary. Ghostwave has no accounts, no servers, no analytics, no advertising and no third-party SDKs. The app does not talk to any server run by the developer or by third parties: there is nothing to collect because there is nowhere to send it. It does not ask for or use your location, contacts, photos or camera. Voice is not stored; the message history is stored encrypted only on your iPhone. Apple’s privacy label: “Data Not Collected”. This is not anonymity: nearby phones see your callsign, channel and an install identifier, and anything you send without a PIN can be heard by anyone in range.
What nearby phones see. So phones can find and understand each other, Ghostwave announces and sends over Wi‑Fi and Bluetooth (Apple’s MultipeerConnectivity), to anyone in range: your callsign (the alias you choose) and channel; your battery level; a random 8-character install identifier (it keeps “mute” working across sessions and tells apart two people with the same callsign); your public encryption key (the public half of your install’s X25519 key, used for 1-to-1 chats); a 16-byte squad-membership tag (with a PIN, only someone with the same PIN can verify it; without one it is random, so a squad cannot be told apart from outside); and the content you send (voice, text, beacons) with your callsign, channel and identifier. In a private 1-to-1 chat the other person’s identifier is visible: the content is encrypted but who talks to whom is visible to nearby phones. Other phones may relay your packets (up to 3 hops) if their mesh repeater is on; it is on by default and can be turned off in Settings. Encrypted packets cannot be read by a relay. None of this reaches the developer. People nearby can recognize your install identifier across sessions; if that worries you, pick a callsign that does not identify you and use a squad PIN. Reinstalling creates a new identifier.
What is encrypted and what is not. With a squad PIN, voice, text messages and beacons are encrypted with ChaCha20‑Poly1305 using a key derived from the PIN (PBKDF2, 100,000 iterations) and are sent only to phones that proved they know the same PIN. The PIN is never transmitted. Private 1-to-1 text and voice are encrypted with a key only the two phones share (X25519 agreement, HKDF and ChaCha20‑Poly1305), with no PIN to share. Always in the clear: presence announcements (listed above), channel 00, SOS beacons and anything you send without a PIN and not private. Ghostwave does not use Multipeer’s transport encryption: the encryption is the app’s own, described here.
Limits you should know. Without a PIN, anyone in range with suitable software can hear or read what you send: the channel is not a security barrier. A 6-digit PIN has only a million combinations, so someone who recorded the traffic can try them offline; let the PIN expire. There is no forward secrecy: keys are long-lived. In private chats, the first key a phone sees from another is the one it pins (trust on first use); compare the safety code in person to rule out a man in the middle.
Microphone and voice. The microphone is used only while you hold the talk button (or, if you turn on hands-free mode, until you end it). Voice is compressed and sent to nearby phones; it is not recorded or saved to any file. Each phone keeps in memory only the last audio received, for “repeat last message”, and it disappears when the app is closed. While the radio is on, the app keeps audio active in the background (iOS “audio” mode, playing silence) so it can keep receiving with the screen locked. That records nothing.
Optional transcription (speech recognition). It is off by default. If you turn it on, Ghostwave transcribes on your iPhone what the people whose voice you receive are saying, to show it as text on screen. It requires on-device recognition: the app never falls back to Apple’s server-based recognition. If your iPhone or language has no on-device model, there is simply no transcription. The transcribed text is shown on screen and is not saved.
Text messages and history. Messages (up to 280 characters) travel only between nearby phones, in the clear, with the PIN or in private, as described above. Your iPhone stores a history of up to 200 messages, with the writer’s callsign and identifier, channel and time, in a file encrypted with ChaCha20‑Poly1305 inside the app’s folder. The 256-bit key is in the iOS Keychain (available after first unlock, this device only) and the file is excluded from backups. Beyond 200 messages, the oldest are forgotten. You can delete the whole history with the trash button in the chat (“Delete history”).
What is stored on your iPhone. Preferences (iOS UserDefaults): callsign, channel, radio on, repeater, hands-free mode, message alerts, transcription, PIN lifetime, your install identifier, the list of muted people (callsign and identifier) and the public keys of phones you have seen nearby (up to 200, with their verification state and the last time they were seen). iOS Keychain, this device only: the squad PIN and the time you set it, the history key and your private 1-to-1 encryption key. One encrypted file with the message history. Preferences may be included in iOS backups; the history file and the “this device only” Keychain items are not.
Permissions. Microphone (to talk, only while you hold the button); Local Network (to find and connect to nearby phones); Bluetooth (to connect to nearby phones where there is no coverage); Notifications (optional: local alerts for messages, transmissions and SOS; you can turn them off in iOS Settings, and message alerts also with “Notify messages” in the app); Speech Recognition (optional: only for the on-device transcription above). Ghostwave does not ask for location, contacts, photos or camera. You can withdraw any permission in iOS Settings; without some of them the radio works in a limited way.
Notifications. They are local notifications, generated by your own phone when it receives a message or transmission. Ghostwave uses no push server and does not register your phone for remote alerts. A message alert shows the callsign and the text; depending on your iOS settings, that text may be visible on the lock screen.
Mute and report. Your mute list lives only on your phone and is sent to no one. “Report” opens a prepared email that you decide whether to send to support (ismanabte@gmail.com). It includes the callsign, the reported person’s install identifier, the channel, the date and time and the app version; it does not include the content of any message or voice. Nothing is sent automatically. If you send it, we use that information only to review the case and keep it as long as needed for that.
Optional tips. The app is free and complete. You may leave an optional tip through Apple consumable in-app purchases (StoreKit). Apple processes the payment; the developer does not receive your personal payment data. Tips unlock nothing.
Third parties. Ghostwave includes no third-party SDKs and sends no data on its own. Apple, as operator of the App Store and iOS, may make anonymous crash and usage reports available to the developer if you turned on “Share with App Developers” in iOS settings; Apple controls that, not the app.
How to delete your data. Message history: the trash button in the chat. Squad PIN: “Clear” in the PIN field in Settings (it also deletes itself when it expires). Muted people: Settings → “Muted nodes”. Everything else: delete the app from iOS, which removes the history and the preferences. iOS may keep Keychain items after an app is deleted. When you reinstall, Ghostwave deletes any squad PIN left behind. The history key and your private 1-to-1 key may remain; without the history file, the history key opens nothing. Because we receive no copy of your data, there is nothing for you to ask us to delete on a server.
Children. Because the app has no accounts and collects no personal data, we do not collect information from children. Ghostwave lets you talk with nearby people who may be strangers, so we recommend children use it accompanied. If you believe a child sent us personal information by email, write to us and we will delete it.
Important use notice. Ghostwave is not a substitute for emergency services. Range depends on the environment and is not guaranteed. In a real emergency, call your local emergency services.
Your rights and changes. Because we do not receive a copy of your data, we cannot view or delete it remotely. To exercise access, rectification, deletion or objection rights over what you email us, contact ismanabte@gmail.com. If we update our privacy practices, we will publish the new version at this same address and state its date.
Last updated: October 19, 2026.
