Bienvenida a Yavii
Yavii es una red de seguridad comunitaria diseñada para comunidades que necesitan protegerse y mantenerse conectadas. Funciona con o sin internet, usa cifrado de grado militar, y está construida con el respaldo de las autoridades comunitarias.
Con Yavii puedes:
- 🗺️ Explorar sitios en un mapa satelital con marcadores comunitarios
- 🔍 Reportar hallazgos de flora, fauna, platillos y cultura local
- 🚨 Alertar a tu comunidad sobre emergencias, personas armadas, vehículos sospechosos o disparos
- 🛡️ Protegerte con el sistema anti-secuestro por palabra clave y reconocimiento de voz
- 🔗 Compartir datos con otros dispositivos sin necesidad de internet (P2P)
- ✉️ Enviar mensajes cifrados con el sistema de Cartero Digital
- 📊 Monitorear amenazas desde el dashboard de monitoreo
Yavii está diseñada para funcionar sin internet. Todos tus datos se guardan localmente y se sincronizan automáticamente cuando recuperas conexión o vía P2P con otros dispositivos.
Sistema Cerrado
Yavii es un sistema cerrado. No puedes crear una cuenta por tu cuenta. Esto evita que personas ajenas se hagan pasar por miembros de la comunidad.
¿Cómo obtener una cuenta?
- Acude con el agente municipal o administrador de tu comunidad
- El administrador crea tu cuenta desde el panel de administración
- Te entrega en persona tu nombre de usuario y contraseña
- Inicias sesión en Yavii con esas credenciales
Una vez que tienes tu cuenta, puedes usarla en cualquier dispositivo. Tus datos están protegidos y solo tú puedes acceder a ellos.
Inicio de Sesión
Cómo iniciar sesión
- Abre Yavii en tu navegador o como app instalada (PWA)
- Ingresa tu nombre de usuario y contraseña
- Haz clic en Entrar
Activa tu GPS al entrar si planeas usar el mapa, registrar visitas o el Modo Detective. No es obligatorio para iniciar sesión — puedes entrar sin GPS y consultar mensajes, directorio, tablero y demás funciones que no requieren ubicación.
¿Cuándo SÍ necesitas GPS?
- 📍 Registrar visitas a sitios en el mapa
- 🔍 Modo Detective — geolocalizar hallazgos
- 🚨 Emitir alertas de emergencia, observatorio o anti-secuestro
- 🚶 Patrullaje ambiental — tracking de ruta
Si intentas usar una de estas funciones sin GPS, la app te lo indicará y ofrecerá alternativas (ubicación aproximada por WiFi, última posición conocida o selección manual en el mapa).
¿Olvidaste tu contraseña?
Usa el enlace "¿Olvidaste tu contraseña?" para recibir un correo de recuperación. Si no tienes internet, puedes usar tu frase de respaldo de 12 palabras con la opción "📡 Sin conexión".
Mapa y Sitios
El mapa es la pantalla principal de Yavii. Muestra:
- 📍 Marcadores verdes: sitios de interés comunitario
- 🔵 Tu ubicación: representada con un círculo azul
- 👥 Otros exploradores: si han compartido su ubicación
Visitar un sitio
- Toca un marcador verde en el mapa
- Se abre una ventana con información del sitio
- Si estás cerca del sitio (geofence), puedes registrarlo como descubierto
- Ganas puntos por cada sitio descubierto
Presiona el botón 📍 para centrar el mapa en tu ubicación actual.
Modo Detective
El Modo Detective te permite documentar la riqueza natural y cultural de tu comunidad:
Cómo reportar un hallazgo
- Ve a la sección Detective en el menú
- Selecciona la categoría
- Toma una foto (opcional, hasta 3)
- Escribe un nombre y una frase descriptiva
- Guarda el hallazgo
Cada hallazgo se guarda localmente y se marca como 🟡 Pendiente hasta que lo subas manualmente con el botón ⬆ Subir. Los hallazgos incluyen marca de agua digital con tu identidad, timestamp y licencia Creative Commons.
Al subir un hallazgo, es visible para colaboradores y admin de tu comunidad. Si no perteneces a ninguna comunidad, solo tú y los agentes pueden verlo. Los nombres y frases se cifran con la llave de tu comunidad — sin desbloquearla, ni siquiera el admin puede leerlos.
Patrullaje Ambiental
El patrullaje te permite registrar recorridos GPS con seguimiento en tiempo real:
- 🚶 Iniciar patrullaje: comienza a grabar tu ruta GPS
- 📍 Polilínea en el mapa: tu recorrido se dibuja como una línea sobre el mapa
- ⚠️ Registrar amenazas: durante el patrullaje puedes marcar puntos de amenaza
- 🌿 Puntos de Interés (POI): registra hongos, ríos, flora, fauna, paisajes, árboles, manantiales
- ⏹️ Finalizar: guarda el patrullaje completo con estadísticas
El botón 🌿 POI aparece durante el patrullaje activo. Úsalo para marcar puntos importantes en tu recorrido.
Observatorio Comunitario
El Observatorio es un sistema de alerta temprana para reportar situaciones de riesgo. También incluye el Radar Táctico de Misiones para operativos de búsqueda en equipo (ver 🎯 Misiones de Búsqueda).
Cómo reportar
- Selecciona el tipo de amenaza
- La app obtiene automáticamente tu ubicación GPS
- Opcionalmente graba un mensaje de audio
- Envía el reporte — se propaga a todos los usuarios cercanos
Los reportes llegan al Dashboard de Monitoreo donde los agentes pueden atenderlos.
Los reportes del Observatorio son visibles para los colaboradores y admin de tu comunidad, y para los agentes en el dashboard de vigilancia. Un miembro regular de otra comunidad no ve tus reportes. Consulta la matriz de roles para más detalle.
Anti-Secuestro
Este módulo está diseñado para situaciones de secuestro o peligro inminente donde no puedes usar tu teléfono abiertamente. La alerta se envía en completo silencio con múltiples capas de protección.
El widget Anti-Secuestro aparece siempre en la pantalla de Inicio. Si no lo has configurado, mostrará "NO CONFIGURADO" en badge ámbar. Configúralo desde ahí directamente.
🎤 Detección por Voz
La app escucha permanentemente (usando el micrófono). Solo tienes que:
- Desbloquear tu celular (huella o rostro)
- Abrir Yavii
- Decir tu palabra clave secreta
⌨️ Detección por Texto
Si puedes escribir, la palabra clave también se detecta al escribirla en cualquier campo de texto de la app.
🔊 Botones de Volumen (Alarma Silenciosa)
Si no puedes hablar ni escribir, presiona 3 veces el botón de volumen abajo en rápida sucesión. La app activa la alerta silenciosa sin mostrar nada en pantalla. Esto funciona incluso si el telefono esta en el bolsillo.
🔑 Palabra de Coacción
Puedes configurar una segunda palabra clave (diferente a la principal). Si la dices o escribes, la app mostrara "✅ Todo bien" pero por debajo enviara una alerta silenciosa con tu ubicacion. Ideal si el agresor te obliga a demostrar que todo esta normal.
📸 Evidencia Automática
Cuando se activa una alerta, la app captura automáticamente:
- Foto silenciosa — cámara trasera, sin flash ni indicio visible
- Audio ambiente — 30 segundos de audio como evidencia
- GPS rápido — ubicación cada 10 segundos (antes 60s)
📡 Fallback P2P/Mesh
Si el secuestrador bloquea la señal de internet, la alerta viaja por Bluetooth y WiFi Direct a dispositivos cercanos con Yavii, que la retransmitirán cuando recuperen conexión.
🚗 Detección de Movimiento
Si el celular se mueve a velocidad de carro (> 20 km/h) con una alerta activa, el GPS se acelera automáticamente a cada 10 segundos para rastrear la ruta.
💀 Dead Man's Switch
Si la app se cierra con fuerza o el celular se apaga durante una emergencia, la app envía automáticamente la última ubicación conocida antes de apagarse usando navigator.sendBeacon().
🎓 Modo Practica / Simulacro
Para que puedas practicar sin miedo a falsas alarmas:
- Ve al Widget Anti-Secuestro en Inicio o a Perfil
- Haz clic en 🎓 Practicar
- La app entra en modo simulacro (badge azul)
- Di o escribe tu palabra clave
- La app confirma: "✅ Se habria enviado una alerta. Practica, nadie fue notificado."
En modo simulacro NO se envia nada al servidor. No se propaga a otros dispositivos. No aparece en ningun dashboard. Es solo para practicar el gesto.
Hay un cooldown de 5 minutos entre alertas reales para evitar spam. El modo simulacro no tiene cooldown.
Viaje Seguro (RastreaME)
El sistema RastreaME es un monitoreo de viajes con check-in periódico y mapa en tiempo real. Incluye ETA automático, geocercas, fotos de evidencia y múltiples capas de protección.
- Configuras un PIN de 4 dígitos (único para ti)
- Agregas uno o más contactos de emergencia
- Inicias un viaje monitoreado con mapa en tiempo real
- Cada ~30 minutos recibirás un check-in para confirmar tu PIN
- Si no respondes en 5 minutos, se activa una alerta automática
🗺️ Mapa en Tiempo Real
Durante el viaje se muestra un mapa con tu ubicación actual (marcador azul) y una polilínea roja de tu ruta recorrida. Tu destino se marca con una bandera.
⏱️ ETA Automático
La app calcula el tiempo estimado de llegada basado en tu velocidad GPS promedio y la distancia restante al destino. Se actualiza constantemente.
📍 Geocercas
Si te alejas más de 5 km del destino o de la ruta planeada, la app envía una alerta a tus contactos. Útil contra secuestros o desviaciones forzadas.
📸 Fotos de Evidencia
La app captura fotos silenciosas cada 15 minutos como evidencia del recorrido. Sin flash ni indicio visible.
🔋 Batería Baja
Si la batería baja del 20%, la app notifica a tus contactos antes de que se apague, enviando tu última ubicación conocida.
🚨 Integración Anti-Secuestro
Si se activa Anti-Secuestro durante un viaje, los contactos del viaje también reciben la notificación.
🌙 Modo Nocturno
Viajes entre 8pm y 6am cambian automáticamente a interfaz oscura.
📊 Estadísticas del Viaje
Al finalizar muestra: km recorridos, velocidad promedio, paradas y total de check-ins.
🔗 Compartir Ubicación
Comparte tu ubicación en tiempo real con alguien sin la app vía link público. El link expira al finalizar el viaje.
🔒 PIN de Seguridad
Tu PIN es la llave del sistema. Debe ser de 4 dígitos y solo tú debes saberlo.
Si estás en peligro, ingresa tu PIN al revés. La app mostrará "✅ Todo bien" pero enviará una alerta silenciosa. No uses PINs capicúa (1221, 1111, etc.).
👤 Contactos de Emergencia
Registra varios contactos con: nombre, teléfono y opcionalmente correo y parentesco.
🚗 Iniciar un Viaje
- Ve a Viaje Seguro en el menú
- Configura tu PIN (solo la primera vez)
- Agrega contactos de emergencia
- Escribe tu destino y selecciona el contacto
- Presiona Iniciar Monitoreo
⏰ Check-in Periódico
Cada ~30 minutos recibirás una notificación para confirmar tu PIN. Si no respondes en 5 minutos, se activa una alerta automática.
🚨 Botón de Emergencia Manual
Durante un viaje activo, tienes un botón de pánico manual que envía una alerta inmediata con tu ubicación.
✅ Finalizar Viaje
Al llegar a tu destino, presiona Finalizar Viaje para ver el resumen completo.
Modo Cajuela
El Modo Cajuela detecta una posible privación de libertad (ser encerrada en una cajuela, caja o contenedor en movimiento) durante un Viaje Seguro activo, fusionando los sensores del teléfono. Todo el análisis ocurre dentro de tu dispositivo: nada se envía hasta que se confirma la alerta.
- 💡 Luz ambiental — oscuridad total (~0 lux), como dentro de una cajuela
- 📏 Proximidad — el sensor cubierto (teléfono contra una superficie)
- 📊 Vibración — patrón de carretera (vibración continua), distinto de caminar (pasos)
- 📍 GPS — traslado vehicular sostenido o paro no programado durante el viaje
⚙️ Cómo se activa
- Está activado por defecto. Puedes apagarlo con el toggle 🧳 del Viaje Seguro (tu preferencia se guarda)
- Solo vigila mientras haya un Viaje Seguro activo — al finalizar el viaje se detiene solo
- Si tu navegador no tiene algún sensor (común en iPhone y en PC), ese factor simplemente no cuenta: el sistema exige más de los que sí existen
🚨 Qué pasa si detecta algo
- Los factores disponibles deben coincidir de forma sostenida (~25 segundos)
- Recibes una notificación de aspecto neutral ("¿Sigues bien?") con sonido normal: tienes 60 segundos para responder
- PIN normal → se cancela todo (queda registrado como falso positivo para calibrar)
- PIN inverso o no responder → pánico automático: alerta con GPS, foto y audio de evidencia (mismo flujo del Anti-Secuestro) marcada como origen "cajuela", y aviso a tu contacto del viaje
- Sin internet, el evento se guarda en el teléfono y se propaga cuando recuperes señal
Un viaje nocturno en autobús con el teléfono en la bolsa puede parecerse a una cajuela. Por eso nunca alerta de inmediato: siempre te pregunta primero. Si te pregunta seguido en tus trayectos habituales, respóndele con tu PIN normal — el sistema cuenta esos casos para ajustar los umbrales en futuras versiones (igual que Hombre Caído, la calibración fina es en campo).
Los sensores se leen solo en tu teléfono. Ninguna lectura de luz, proximidad o aceleración sale del dispositivo. Solo si se confirma el pánico (o ingresas el PIN inverso) se envía la alerta con tu ubicación y evidencia a tus contactos.
Los sensores de luz y proximidad web funcionan en Android + Chrome (y en la APK). En iPhone y en computadora no existen como API web: ahí el Modo Cajuela opera solo con vibración + GPS. No se puede probar en desktop — las pruebas reales deben hacerse en el teléfono.
Canal de Escape (SOS por sonido)
El Canal de Escape es el último recurso cuando no hay nada más: ni datos móviles, ni WiFi, ni Pi, ni Bluetooth. Transmite una alerta de emergencia por el altavoz, codificada como sonido de muy alta frecuencia (18.5-21 kHz), y los teléfonos cercanos que tengan la escucha activada la decodifican por el micrófono y la reenvían por los canales que ellos sí tengan.
- Tipo de alerta — SOS (secuestro) o pánico vecinal
- Coordenadas GPS — con precisión de ~1 metro
- Nivel de batería del teléfono que pide auxilio
- Identificador único — evita procesar la misma alerta dos veces
Solo 14 bytes útiles; la transmisión completa dura ~1.6 segundos en el aire.
⚙️ Cómo se usa
- En Viaje Seguro activa el toggle 📡 Canal de Escape (está apagado por defecto porque usa el micrófono)
- Con la escucha activa, tu teléfono puede recibir el SOS acústico de alguien cercano y reenviarlo por internet/mesh si tú sí tienes conectividad
- Transmitir no requiere activar nada: si lanzas una alerta de emergencia sin server ni Pi disponibles, el sistema la emite por sonido automáticamente (además de guardarla localmente)
- El botón 📢 Probar SOS por sonido emite una alerta de prueba para verificar entre dos teléfonos
Esto no es magia: el sonido se debilita rápido. En exteriores con ruido, espera 1-5 m; en interiores silenciosos, hasta ~10 m. Sirve para avisar a quien está en el mismo espacio (un cuarto, un vehículo, una fila), no para cruzar la colonia. Además, el altavoz y el micrófono de cada teléfono recortan las frecuencias altas de forma distinta: es indispensable probarlo en campo con los teléfonos reales antes de confiar en él.
Aunque se le llama "ultrasonido", 18.5-21 kHz está dentro del rango audible de muchas personas jóvenes (se percibe como un pitido muy agudo). No es un canal secreto. Si necesitas que sí se oiga (altavoces débiles o micrófonos que recortan arriba de 16 kHz), activa el modo audible (2.5-4 kHz) en el mismo panel del Viaje Seguro.
Cuando la escucha está activa verás un indicador permanente 🎙️ en la esquina inferior izquierda. El audio se procesa solo en tu teléfono para buscar el patrón del SOS; nunca se graba ni se envía a ningún servidor. Al terminar el viaje, la escucha se detiene y el micrófono se libera.
La decodificación fue validada digitalmente (100% de éxito con ruido simulado en frecuencias ultrasónicas y audibles), pero la acústica real de cada par de teléfonos es distinta. Antes de depender del Canal de Escape, haz la prueba con dos teléfonos: uno presiona 📢 Probar SOS y el otro, con la escucha activa, debe mostrar la alerta recibida.
Modo Disfraz (Calculadora Señuelo)
El Modo Disfraz hace que la app arranque mostrando una calculadora real y funcional — suma, resta, multiplica, divide, decimales y borrar, igual que cualquier calculadora de teléfono. Quien la abra sin saber, verá solo eso: sin logos, sin nombres, sin textos de Yavii, y con el título "Calculadora".
⚙️ Cómo se activa y cómo se entra
- Actívalo en Perfil → 🥸 Modo Disfraz (está apagado por defecto: tú decides conscientemente usarlo)
- Con el disfraz activo, cada vez que abras o recargues la app verás la calculadora
- Para entrar a Yavii: escribe tu código secreto (por defecto
7319, cámbialo en Perfil) y presiona = - Gesto de rescate: mantén presionada la pantalla de la calculadora 3 segundos (por si olvidas el código; puedes desactivarlo en Perfil)
- Si la app pasa más de 5 minutos en segundo plano, la calculadora vuelve a aparecer sola al regresar
El disfraz solo cubre la pantalla: los gestos de emergencia (botones de volumen del anti-secuestro, Modo Cajuela, pánico) siguen funcionando con la calculadora visible. No se desactiva nada por debajo.
📲 Instalar la app disfrazada
Desde Perfil → Modo Disfraz puedes abrir la página de instalación discreta, que instala la app en tu pantalla de inicio con el nombre e ícono de "Calculadora" (o "Clima", como alternativa). Esa instalación abre directo en modo calculadora, aunque el toggle esté apagado. Puedes tener las dos instaladas a la vez: la normal y la disfrazada.
Practica el gesto varias veces antes de depender de él. Bajo presión es fácil olvidar el código o fallar el gesto. Memoriza tu código, practica escribirlo sin mirar, y deja el gesto de rescate activado hasta que te sientas segura. Si alguien te obliga a abrir la app, la calculadora funciona de verdad: opérala con normalidad.
El disfraz protege contra una revisión casual (alguien que abre la app y mira la pantalla). NO protege contra un peritaje forense: los datos de la app, el caché del navegador y los archivos siguen en el teléfono y un análisis técnico puede encontrarlos. Tampoco oculta la app en la lista de aplicaciones instaladas del sistema si usas la versión web desde el navegador (usa la instalación discreta para eso).
Detección de Disparos (Sensor Fusion)
El hub de fusión de sensores centraliza el micrófono, el acelerómetro y el GPS del teléfono. Su primer detector escucha el ambiente y reconoce posibles detonaciones de arma de fuego analizando el sonido dentro de tu teléfono — ningún audio sale del dispositivo, solo viajan puntajes y horas.
- 1. Oído espectral — detecta el "fingerprint" de una detonación: golpe de energía en banda ancha con decaimiento característico (distingue palmas y golpes secos, que tienen otra firma)
- 2. Rechazo por acelerómetro — si el teléfono mismo se sacudió en ese instante (portazo, manoteo, se te cayó), descarta el evento: fue ruido de manipulación, no del ambiente
- 3. Corroboración vecinal — si otro teléfono cercano detectó el mismo evento en los mismos ~5 segundos, la certeza sube al máximo y la alerta se envía automáticamente al Observatorio
⚙️ Cómo se activa
- Actívala en Observatorio → 🔊 Detección automática de disparos (está apagada por defecto porque usa el micrófono)
- Se enciende sola durante un Viaje Seguro o un patrullaje, o manual con el botón ▶ Escuchar ahora
- Mientras escucha verás un indicador permanente 🎙️ abajo a la derecha — requisito de Android y de nuestra ética: nada de escuchas ocultas
🚨 Qué pasa cuando detecta algo
- Dos o más teléfonos detectan lo mismo → alerta automática al Observatorio (tipo "disparos", marcada como detección por sensores)
- Solo tu teléfono lo detectó → te pregunta "¿Escuchaste detonaciones?": si confirmas, se reporta; si dices que no (o no respondes en 1 minuto), no se escala y queda contado como falso positivo para calibrar
- Sin internet, el evento se guarda en el teléfono
La heurística fue validada con sonidos sintéticos (detonación simulada detectada, portazo rechazado por acelerómetro, palma ignorada, silencio ignorado), pero los sonidos reales de tu colonia son distintos: petardos, cohetes, escapes de moto y martillazos pueden parecer disparos. No confíes en el detector hasta semanas de uso real — cada vez que te pregunte "¿escuchaste detonaciones?" y respondas con honestidad, estás calibrando el sistema (igual que Hombre Caído y Modo Cajuela).
El micrófono se usa solo en modos armados y con indicador visible permanente. El análisis espectral ocurre 100% en tu teléfono; el audio nunca se graba ni se envía. Por el mesh solo viaja: "este teléfono escuchó algo parecido a una detonación a esta hora, en estas coordenadas" — para que otro teléfono cercano pueda corroborar.
Modo Sigilo (Apagón de Emisiones)
El Modo Sigilo apaga todas las emisiones de red de la propia app: gossip por Bluetooth y dispositivos cercanos, anuncios P2P por WiFi, la sincronización periódica con el servidor, el canal de escape por ultrasonido y la videovigilancia. Mientras está activo, Yavii no transmite nada — todo lo que generes (reportes, avistamientos, mensajes) queda guardado en tu teléfono.
- SÍ apaga: gossip BLE/cercanos, anuncios y polling P2P, sync periódica, canal de escape (ultrasonido), videovigilancia y broadcasts al mesh
- NO apaga (porque no emite radio): el GPS sigue grabando tus patrullajes y viajes en local — el GPS es un receptor, no transmite
- NO puede apagar: el rastreo por torres celulares. Android no permite a ninguna app apagar esas radios — solo el modo avión las corta. Por eso la tarjeta de Perfil incluye el Asistente de apagón total con los pasos exactos
📡 Ráfagas de sync
Con las ráfagas activadas (por defecto), cada 15 minutos se abre una ventana de 30 segundos en la que Yavii sube y baja lo pendiente, y vuelve al silencio. Si las apagas entras en modo submarino: nada sale del teléfono hasta que desactives el sigilo.
🚨 La emergencia rompe el sigilo
Si ocurre una emergencia — pánico vecinal, alerta anti-secuestro (incluida la detección del Modo Cajuela), botón ¡Emergencia! de Viaje Seguro o disparos corroborados por varios teléfonos — el sigilo se suspende al instante y todas las emisiones se reanudan para pedir ayuda. Tú decides cuándo rearmarlo.
⚙️ Cómo se usa
- Actívalo en Perfil → 🤫 Modo Sigilo, o márcalo en la casilla al iniciar un Viaje Seguro
- Verás un indicador discreto gris abajo al centro con la cuenta regresiva de la próxima ráfaga (o "submarino" si apagaste las ráfagas)
- En la misma tarjeta de Perfil ves qué canales están apagados y cuántos pendientes llevas acumulados para subir
- Si el sigilo estaba activo y recargas o reabres la app, sigue activo: la app no emite ni durante el arranque
Úsalo en zonas donde emitir te delata: puntos de control, zonas con escaneo de dispositivos, o al atravesar territorio hostil con el teléfono encendido. Recuerda: el sigilo de Yavii no te oculta de la red celular — combínalo con el modo avión del asistente si necesitas apagón total.
Geocercas de Zonas de Riesgo (APK)
En la APK de Android, Yavii convierte automáticamente las amenazas reportadas por la comunidad en el Observatorio (personas armadas, vehículos sospechosos y disparos de las últimas 72 horas) en geocercas nativas: el teléfono te avisa al entrar o salir de una zona reportada aunque la app esté completamente cerrada.
- Auto-importación — las alertas activas del Observatorio se convierten en círculos de riesgo: radio 500 m para disparos, 300 m para personas armadas y 200 m para vehículos
- Priorización — Android permite máximo 100 geocercas por app: se eligen las más graves y más cercanas a ti (hasta 90), y se recalculan si te mueves más de 2 km
- Con la app cerrada — el aviso llega como notificación del sistema ("Estás entrando a zona reportada: X") y queda guardado en tu teléfono
- Es un aviso, no una alarma — NO dispara pánico ni alertas automáticas: tú decides qué hacer
🔑 El permiso importante: "todo el tiempo"
Para que las geocercas disparen con la app cerrada, Android 10+ exige el permiso de ubicación «Permitir todo el tiempo». Android 11+ no permite pedirlo con un diálogo — hay que otorgarlo en ajustes. Por eso la tarjeta de Perfil → 📍 Geocercas tiene un botón que te lleva directo a la pantalla correcta (Ubicación → Permitir todo el tiempo). Si no lo otorgas, las geocercas funcionan solo con la app abierta (y la tarjeta te avisa).
🔋 Batería
Las geocercas usan la Geofencing API de Google Play Services: el sistema decide cuándo revisar tu posición usando antenas celulares y WiFi — no mantiene el GPS encendido. El gasto de batería es mínimo comparado con un rastreo GPS continuo.
⚙️ Cómo se usa
- Actívalo en Perfil → 📍 Geocercas de Zonas de Riesgo
- Otorga el permiso «todo el tiempo» con el botón de la tarjeta
- Las zonas se sincronizan solas desde el Observatorio — en la tarjeta ves cuántas hay activas y a qué distancia
- Tras reiniciar el teléfono, las geocercas se re-registran solas
Esta función existe solo en la APK (el navegador no permite geocercas con la app cerrada; en web, Viaje Seguro ya vigila geocercas en primer plano). Los eventos de entrar/salir son tu historial de ubicación: se guardan solo en tu teléfono y no se suben al servidor.
Pánico Vecinal
El botón de pánico vecinal envía una alerta inmediata a todos los dispositivos cercanos. A diferencia del sistema anti-secuestro, esta alerta sí es visible y sonora — está diseñada para emergencias donde necesitas ayuda inmediata de tus vecinos.
Para usarlo: presiona el botón S.O.S. Vecinal en la sección de emergencias. Tu ubicación y un mensaje de auxilio se propagan instantáneamente.
Alertas de Emergencia
Las alertas de emergencia se propagan a todos los dispositivos cercanos (hasta 1 km a la redonda). Tipos de alerta:
- 🔭 Personas armadas
- 🚗 Vehículos sospechosos
- 🔫 Disparos
- 🛡️ Secuestro (activado por palabra clave o voz)
Cuando recibes una alerta, puedes ver la ubicación en el mapa, el tipo de amenaza y hace cuánto tiempo se reportó. Las alertas tienen corroboración comunitaria: si varios dispositivos reportan lo mismo, la alerta se marca como verificada.
Directorio de Saberes
Encuentra personas con oficios tradicionales en tu comunidad:
- 🔍 Busca por voz o texto
- 👤 Cada entrada muestra nombre, oficio, descripción y ubicación
- 📝 Si tienes un oficio, puedes registrarte en el directorio
El directorio funciona offline con datos guardados localmente.
Tablero y Avisos Comunitarios
Tablero Comunitario
Publica objetos perdidos o encontrados. Los avisos viajan entre dispositivos vía P2P para que lleguen a toda la comunidad.
Tablón de Avisos
Publica anuncios sobre trabajo, trámites, eventos comunitarios. Los anuncios caducan automáticamente a los 7 días.
Mercado Comunitario
Compra, vende e intercambia productos dentro de tu comunidad:
- 🛒 Productos en venta: publica lo que quieras vender con título, precio, descripción y teléfono de contacto
- 🔄 Trueque: ofrece intercambiar productos sin dinero, indicando qué aceptas a cambio
- 📍 Ubicación: cada publicación puede incluir tu ubicación aproximada
- 🚩 Reportes: si una publicación es inapropiada, se puede reportar. Con 10 reportes se desactiva automáticamente
Cómo publicar
- Ve a la sección 🏪 Mercado en el menú lateral
- Presiona ➕ Publicar producto
- Llena título, precio y datos de contacto
- Presiona Publicar
Tus propias publicaciones puedes eliminarlas con el botón 🗑. Las de otros puedes reportarlas con 🚩.
Conexión P2P Sin Internet
Yavii puede intercambiar datos directamente entre dispositivos sin necesidad de internet:
- 📡 WiFi Direct: los dispositivos se descubren en la misma red WiFi
- 📷 Código QR: escanea el código de otro dispositivo para conectar
- 🔵 Bluetooth BLE: requiere hardware adicional (ESP32/Raspberry Pi)
Cómo sincronizar vía P2P
- Un dispositivo actúa como Host (comparte sus datos)
- El otro dispositivo escanea el código QR del Host
- Los datos se transfieren directamente — hallazgos, alertas, avisos, etc.
La sincronización P2P usa WebRTC con cifrado de extremo a extremo.
Cartero Digital
El Cartero es un sistema de mensajería cifrada de extremo a extremo que funciona como un "teléfono comunitario":
- 🔐 Cifrado ECDSA: cada mensaje se cifra con la llave pública del destinatario
- 📱 Recados de voz: envía mensajes de audio cifrados
- 🔄 Propagación P2P: los mensajes viajan entre dispositivos hasta llegar al destinatario
- 📞 Llamadas de voz: comunicación por voz vía WebRTC
Comunidad, Llaves y Roles
El sistema de Comunidad permite cifrar datos sensibles con la llave pública de tu cultura y define qué puede ver y hacer cada persona según su rol.
🔑 Matriz de Roles
| Rol | Ver datos cifrados | Reportar hallazgos | Invitar miembros | Ver reportes de otros | Dashboard monitoreo | Dashboard vigilancia |
|---|---|---|---|---|---|---|
| 🧑 Miembro | ✅ Solo los propios | ✅ | ❌ | ❌ Solo los propios | ❌ | ❌ |
| 🛡️ Colaborador | ✅ Propios + comunidad | ✅ | ✅ | ✅ De su comunidad | ✅ Vista limitada | ❌ |
| 👑 Admin Comunidad | ✅ Todos | ✅ | ✅ | ✅ Todos | ✅ Completo | ❌ |
| 🛡️ Agente / Admin App | ✅ Todos | ✅ | ✅ | ✅ Todos | ✅ Completo | ✅ Completo |
Si eres miembro, los reportes que hagas en Modo Detective solo los ves tú. Un colaborador o admin de tu comunidad SÍ puede verlos. Si es algo sensible, tenlo en cuenta antes de reportar. Los agentes (dashboard de vigilancia) pueden ver todos los reportes de todas las comunidades.
Cifrado
- 🔑 RSA-4096: cada comunidad tiene un par de llaves pública/privada
- 🔒 Datos cifrados: nombres y frases del modo detective se cifran con la llave de tu comunidad antes de guardarse
- 🔓 Desbloqueo: necesitas ingresar la contraseña de la comunidad para descifrar los datos
Cómo unirse a una comunidad
- Ve a la sección Comunidad en el menú
- Selecciona una comunidad disponible y solicita unirte
- Un colaborador o admin de esa comunidad debe aceptar tu solicitud
- Una vez aceptado, recibes las llaves para cifrar/descifrar datos
Para crear una comunidad nueva, contacta al administrador general de Yavii.
Dashboard de Vigilancia
El panel de vigilancia (/vigilancia/) es para agentes y operadores:
- 📹 Cámaras: streaming en tiempo real vía WebRTC
- 📊 Métricas KPI: alertas activas, atendidas hoy, tiempo de respuesta
- 💬 Chat: comunicación en tiempo real entre operadores y agentes
- 📜 Timeline: actividad cronológica de todas las cámaras y alertas
- 🔔 Notificaciones sonoras: alertas con tonos distintos por tipo de amenaza
El dashboard tiene autenticación propia separada de la app principal.
Dashboard de Monitoreo
El panel de monitoreo (/monitoreo/) visualiza todas las amenazas reportadas:
- 🗺️ Mapa de calor: 5 capas — amenazas, visitas, hallazgos, patrullajes, moneda
- 📈 Gráficas Chart.js: tendencias temporales con comparativas
- 📋 Tabla filtrable: búsqueda por tipo, fecha, usuario
- 📥 Exportación: descarga los datos en JSON o CSV
- 🏆 Top usuarios: los más activos de la semana
Reporte de Apagón CFE
Reporta cortes de luz a la CFE directamente desde la app:
- ⚡ Reporte rápido: envía tu ubicación y datos del servicio
- 📱 Compartir por WhatsApp: envía el reporte a tus contactos
- 💾 Guardado local: tus reportes se guardan sin conexión
Perfil e Identidad Digital
Tu perfil
En la sección Perfil puedes:
- 📷 Cambiar tu foto de perfil
- 🔑 Cambiar tu contraseña
- 🌐 Elegir modo de residencia (local o embajador)
- 🔐 Configurar PIN de seguridad para secciones sensibles
- 🛡️ Configurar el sistema anti-secuestro
- 💾 Ver el uso de almacenamiento local
Identidad Digital
Yavii te permite crear una identidad digital ECDSA que funciona como tu firma digital personal. Con ella puedes:
- 📝 Firmar digitalmente tus hallazgos y reportes
- 🔐 Cifrar mensajes en el sistema de Cartero
- 🗝️ Exportar tu frase de respaldo de 12 palabras — ¡guárdala bien!
🕵️ Modo Tor (Orbot) — solo APK
Tor (The Onion Router) es una red mundial gratuita que esconde de dónde te conectas. En vez de ir directo de tu teléfono al servidor, tu tráfico da tres saltos por países distintos, y cada salto solo conoce al anterior y al siguiente — como pasar un sobre cerrado de mano en mano: nadie sabe quién lo mandó ni todo el camino.
Con Tor, tu operador de telefonía, el WiFi del pueblo, o cualquier red local NO pueden ver qué estás haciendo en Yavii ni a dónde te conectas. Solo ven "datos cifrados". Es la misma red que usan periodistas, defensores de derechos humanos y comunidades para protegerse.
Orbot es una app de Android (gratuita, de código abierto, hecha por el Guardian Project — la misma gente que hace Tor Browser) que conecta tu teléfono a la red Tor. Es el "motor": Yavii le pide a Orbot que lleve su tráfico por Tor. Sin Orbot no hay túnel, por eso el modo Tor lo requiere.
- 🕵️ Que nadie espíe tu actividad: tu operador, la red local o alguien con acceso al WiFi no pueden ver qué haces en Yavii (reportar, enviar mensajes, ver el mapa).
- 🛡️ Proteger a la comunidad: si haces un reporte sensible (personas armadas, emergencias), Tor hace mucho más difícil rastrear quién lo envió y desde dónde.
- 🌍 Funciona donde bloquean la app: si algún día tu red bloquea Yavii, con Tor el tráfico sale por otro lado y la app sigue jalando.
- 🔓 Es opcional y reversible: lo activas solo cuando quieras, y con un toque lo apagas. La app sigue funcionando igual sin él.
Si usas la app de Android (APK con el botón Tor), puedes enrutar todo el tráfico de Yavii por la red Tor usando Orbot (app externa gratuita del Guardian Project, la misma organización que hace Tor Browser).
(APK con el botón Tor), puedes enrutar todo el tráfico de Yavii por la red Tor usando Orbot (app externa gratuita del Guardian Project, la misma organización que hace Tor Browser).- 📲 Requiere Orbot: instálalo desde F-Droid o Play Store, ábrelo y conéctalo la primera vez. Sin Orbot la app funciona normal, solo no podrás activar el modo Tor.
- 🚀 Cómo activar: Perfil → «🕵️ Modo Tor» → activa el interruptor. Si falta Orbot o no está conectado, Yavii te avisa y el botón 🧅 Abrir Orbot lo abre o instala por ti.
- 🔒 Privacidad: tu operador o la red local no ven a dónde se conecta Yavii; tu tráfico sale por la red Tor con cifrado de extremo a extremo.
- 🌐 Alcance: solo el tráfico web de Yavii pasa por Tor. El resto de tu teléfono (WhatsApp, navegador, otras apps) sigue por tu red normal.
- 🐢 Más lento: Tor pasa por varios saltos, así que las conexiones son más lentas y el video/streaming puede degradarse. Apágalo cuando quieras.
- 🛡️ Fail-soft: si Tor falla o se cae a mitad, Yavii regresa automáticamente a tu red normal — nunca te quedas sin conexión ni pierdes datos.
En el navegador web este botón no existe: un navegador no puede enrutar su tráfico por Tor a voluntad. El modo Tor es exclusivo de la app de Android.
Modo Sin Conexión
Yavii está diseñada para funcionar completamente sin internet:
- 📦 Datos guardados localmente: todos tus hallazgos, visitas y reportes se almacenan en tu dispositivo (IndexedDB)
- 🔄 Sincronización automática: cuando recuperas internet, todo se sube al servidor
- ⬆ Subida manual: tú decides cuándo subir cada elemento con el botón ⬆
- 🔗 P2P: intercambia datos con otros dispositivos cercanos sin internet
- 📡 Indicador de estado: un badge en la parte superior te muestra si estás offline
Los datos marcados como 🟡 Pendiente no se han subido al servidor. Usa el botón ⬆ Subir todos cuando tengas conexión.
Almacenamiento Local y Límites
Yavii guarda tus datos en el almacenamiento local del navegador (IndexedDB). Esto tiene límites que varían según el dispositivo y navegador, típicamente entre 50 MB y 2 GB del espacio total del disco.
¿Qué ocupa espacio?
- 📸 Fotos del Modo Detective: cada foto puede ocupar 1-5 MB. Si acumulas muchas sin subir, es lo que más espacio consume.
- 🎤 Audios del Observatorio: grabaciones de voz, ~500 KB por minuto.
- 🗺️ Caché del mapa: tiles de Leaflet guardados para uso offline.
- 📋 Datos de la app: hallazgos, visitas, avisos, productos del mercado, etc. (muy poco espacio).
¿Qué pasa si se llena?
- 🟡 Al 80%: la app te muestra una advertencia en la sección de Perfil → Almacenamiento.
- 🔴 Al 95%: se activa la limpieza automática: borra fotos y audios de hallazgos que ya subiste al servidor (sincronizados).
- 🛑 Al 100%: no podrás guardar nuevas fotos hasta que liberes espacio. La app te sugerirá subir pendientes o borrar datos viejos.
Cómo liberar espacio
- Ve a Modo Detective y usa el botón ⬆ Subir todos para enviar los hallazgos pendientes al servidor
- Una vez subidos, los archivos locales se marcan como sincronizados y el sistema de limpieza los borrará automáticamente tras 7 días
- En Perfil → Almacenamiento puedes ver cuánto espacio estás usando y forzar una limpieza manual
Sube tus hallazgos con frecuencia. No solo liberas espacio — también aseguras que tus datos estén respaldados en el servidor. Si tu teléfono se pierde o daña, los datos que no subiste se pierden.
Cómo Actualizar la App
Yavii es una PWA (Progressive Web App). Esto significa que se instala en tu teléfono como una app normal, pero se actualiza desde internet. El Service Worker guarda una copia en caché para que funcione offline.
¿Tengo la última versión?
- 🔢 El número de versión aparece en la consola del navegador al cargar:
[App] v33 loaded - 📱 Si instalaste la app en tu pantalla de inicio, abre el navegador (Chrome/Edge) y ve a yavii → menú ⋮ → Información para ver la versión
- 🔄 La app intenta actualizarse sola cada vez que abres y hay internet. El service worker descarga la nueva versión en segundo plano y la aplica al cerrar y reabrir
Si la app se ve rara o no funcionan cosas nuevas
- Cierra la app completamente (desliza hacia arriba en Android o doble clic home + deslizar en iPhone)
- Abre de nuevo — el service worker debería cargar la última versión
- Si sigue igual: ve a Ajustes del teléfono → Apps → Yavii → Almacenamiento → Borrar caché
- Como último recurso: abre Yavii en el navegador (Chrome), ve a Configuración del sitio → Borrar datos, y vuelve a entrar
Borrar los datos del sitio eliminará tus datos offline (hallazgos no subidos, configuraciones locales). Antes de hacerlo, asegúrate de haber subido todo con ⬆ Subir todos. Tu cuenta y datos en el servidor no se pierden — solo la copia local.
Actualizaciones sin internet
Si no tienes internet constante:
- La app funciona normalmente con la versión cacheada
- Cuando te conectas a cualquier WiFi, el service worker automáticamente busca actualizaciones
- También puedes recibir actualizaciones vía P2P de otro dispositivo que tenga una versión más reciente
Descargar App Completa (Offline Total)
Yavii ahora tiene un botón de descarga completa que te permite guardar todos los archivos de la app en tu dispositivo para usarla sin conexión a internet. Perfecto para zonas sin señal.
¿Dónde está el botón?
Ve a tu Perfil (tu foto/avatar en el menú). Busca la tarjeta "📦 Descarga completa offline". Si estás conectado a WiFi, verás el botón 📥 Descargar Yavii completa.
La descarga solo se activa cuando estás en WiFi para no consumir tus datos móviles. Si estás en datos móviles, el botón se deshabilita hasta que te conectes a una red WiFi.
Cómo funciona
- Conéctate a WiFi — la app lo detecta automáticamente y habilita el botón de descarga
- Presiona "📥 Descargar Yavii completa" — comienza a bajar todos los archivos (JS, CSS, HTML, imágenes, librerías)
- Espera a que termine — verás una barra de progreso. Son ~60 archivos, tarda unos segundos
- ✅ Listo — una vez completado, el botón cambia a "🔄 Actualizar ahora"
¿Qué se descarga exactamente?
- 📄 Toda la app: interfaz, mapa, alertas, detective, mercadito, P2P, cartero, etc.
- 🗺️ Mapa base: los tiles del mapa satelital se guardan en caché mientras navegas
- 📚 Librerías: Leaflet, QR, Dexie, simple-peer — todo se descarga para uso offline
- 🖼️ Imágenes: íconos, avatares, placeholders
¿Cómo sé que ya está descargado?
- El botón en tu Perfil cambia a "🔄 Actualizar ahora" en lugar de "Descargar"
- Verás un mensaje "✅ Ya tienes la app completa descargada"
- Puedes cerrar sesión, apagar internet, y la app seguirá funcionando
¿Cómo actualizar la descarga?
Cuando haya una nueva versión de Yavii:
- Conéctate a WiFi
- Ve a Perfil → 📦 Descarga completa offline
- Presiona "🔄 Actualizar ahora"
- La app descarga solo los archivos nuevos y reemplaza los viejos
La descarga se almacena en la caché del Service Worker, no en el almacenamiento normal del navegador. Si borras la caché del navegador o usas la opción "Borrar datos del sitio" desde los ajustes, perderás la descarga y tendrás que descargar de nuevo. Tus datos personales (hallazgos, puntos, etc.) no se pierden porque están en IndexedDB.
Puedes verificar el estado de la app en producción con /api/monitor_health.php — muestra conectividad DB, versión del Service Worker, tablas existentes y estado del rate limiting.
Qué Hacer si Pierdes o te Roban el Teléfono
Tu teléfono contiene tu identidad digital ECDSA, tu frase de respaldo de 12 palabras y potencialmente tus llaves de comunidad RSA. Actúa rápido.
Paso 1: Proteger tu cuenta desde otro dispositivo
- Consigue otro teléfono o computadora con internet
- Entra a Yavii con tu usuario y contraseña
- Ve a Perfil → Seguridad de sesión
- Selecciona "Cerrar sesión en todos los dispositivos" — esto invalida todas las sesiones activas incluida la del teléfono perdido
- Genera una nueva identidad desde Perfil → Identidad Digital con tu frase de respaldo de 12 palabras
Paso 2: Avisar al administrador
- Contacta al agente municipal o administrador de Yavii en tu comunidad
- Pide que invaliden tus sesiones activas y roten las llaves de tu comunidad
- El administrador puede forzar un cierre de sesión en todos los dispositivos desde el panel
Paso 3: Restaurar tu identidad
Tu frase de respaldo de 12 palabras es la llave para recuperar todo:
- 🔑 Con la frase puedes regenerar tu llave privada ECDSA en un dispositivo nuevo
- 📝 La frase NO se guarda en ningún servidor — solo tú la tienes (por eso debes guardarla en papel, en un lugar seguro)
- 🏘️ Si eras parte de una comunidad con llaves RSA, el administrador deberá re-emitir tus llaves comunitarias
Sin la frase de 12 palabras NO hay forma de recuperar tu identidad digital. Guárdala en papel, en un lugar seguro fuera de tu teléfono. No la guardes como captura de pantalla ni en notas del teléfono — si te roban el dispositivo, el ladrón tendría acceso a todo.
¿Qué pasa con mis datos?
- ✅ Datos ya subidos al servidor: tus hallazgos, visitas, puntos y mensajes están a salvo. Al iniciar sesión en otro dispositivo, se sincronizan de nuevo.
- ❌ Datos solo locales (🟡 Pendiente): fotos y hallazgos que no subiste se pierden con el teléfono. Por eso insistimos en subir con frecuencia.
- 🔒 Mensajes del Cartero: los mensajes cifrados solo pueden leerse con tu llave privada. Al revocar la llave anterior, los mensajes viejos se vuelven ilegibles (incluso para el ladrón).
Privacidad y Blindaje Biocultural
Yavii implementa múltiples capas de protección:
- 🖼️ Watermarking: las fotos del modo detective incluyen metadatos EXIF con tu identidad y licencia
- 📜 Licencia Biocultural: CC-BY-NC-SA 4.0 + Triqui Community Consent
- 🛡️ Rate Limiting: máximo 300 solicitudes por minuto por IP para tráfico normal. Las rutas de emergencia (anti-secuestro, pánico vecinal, observatorio) tienen su propio carril con 500 req/min para que nunca se bloqueen por tráfico normal. Alertas del mismo tipo en la misma zona (200m, 60s) se agrupan como corroboración comunitaria en vez de contar por separado.
- 🔏 Cifrado E2EE: el sistema de Comunidad usa RSA-4096 + AES-GCM
- ✍️ Identidad ECDSA: firma digital para todos tus reportes
- 📋 Logs de acceso: toda actividad queda registrada para auditoría
Tus datos personales nunca se comparten con terceros. La información comunitaria se protege con el consentimiento de las autoridades tradicionales.
Misiones de Búsqueda — Radar Táctico
El Radar de Misiones es una herramienta de búsqueda en equipo. Permite que un grupo de personas se vean entre sí en tiempo real sobre un radar circular, compartiendo su ubicación GPS sin necesidad de internet.
¿Cómo funciona?
- Abre la sección Observatorio Comunitario — el radar táctico está arriba de los botones de reporte.
- En la barra 🎯 MISIÓN, escribe un código secreto de misión o usa el botón 🎲 para generar uno aleatorio.
- Presiona ▶ Entrar a la misión. Acepta el aviso de consentimiento.
- Comparte el código con tu equipo. Todos los que ingresen con el mismo código aparecerán en el radar de los demás.
Arquitectura P2P — sin internet
El radar usa WebRTC P2P como ruta principal. Los teléfonos del equipo se conectan directamente entre sí por WiFi Direct. Si hay internet disponible, el servidor central funciona como respaldo.
- 🔗 Mesh multi-salto: si A está conectado con B, y B con C, A puede ver a C aunque estén fuera de rango directo. Los mensajes rebotan automáticamente hasta 3 saltos.
- 📡 Pi Comunitario: si el equipo carga un Raspberry Pi con hotspot, todos los teléfonos se conectan a su WiFi y el Pi maneja el descubrimiento de peers sin tocar internet.
GPS Suavizado
En bosque cerrado o cañón, el GPS civil tiene error de 5-30 metros. El radar aplica promedio móvil de 4 lecturas para que los blips no salten.
Batería Adaptativa
El GPS ajusta su frecuencia automáticamente:
- 🔋 2 segundos — cuando hay compañeros cerca o te estás moviendo (búsqueda activa).
- 🔋 10 segundos — cuando estás solo y quieto (ahorro de batería).
Pantalla Bloqueada y Wake Lock
Si bloqueas la pantalla durante la búsqueda, el GPS y las conexiones P2P se pausan (el sistema operativo congela las apps en segundo plano). Yavii maneja esto de dos formas:
- 🔆 Wake Lock: al iniciar una misión, la app solicita mantener la pantalla encendida automáticamente (si tu navegador lo soporta — Chrome, Edge, Opera). La pantalla se atenúa pero no se bloquea.
- 🔄 Reconexión automática: si bloqueaste manualmente o el Wake Lock no está disponible (Safari, Firefox), al desbloquear la pantalla la app reanuda el GPS, reconecta el P2P y retoma la misión donde la dejaste. Tus compañeros verán tu última posición como fantasma mientras tanto.
Recomendación para búsquedas largas: usa Wake Lock + batería externa. Si no tienes batería externa, bloquea la pantalla entre revisiones y confía en la reconexión automática al desbloquear.
Última Posición Fantasma
Si un compañero pierde señal, su blip no desaparece de golpe. Se vuelve un fantasma que se desvanece durante 60 segundos, anclado al borde del radar en la última dirección conocida.
Alerta de Proximidad
Dos modos para no alejarte del equipo:
- 📍 GPS: configuras un rango máximo (ej. 50m). Si te alejas más que eso del compañero más cercano, el teléfono vibra. Doble pulso al acercarte al límite, triple largo si te pasaste.
- 📶 Bluetooth: alternativa cuando el GPS falla. El líder emite un beacon BLE. Los demás miden la intensidad de señal (RSSI). Si se debilita, vibra.
✅ Botón ENCONTRADO
Cuando alguien encuentra el objetivo de la búsqueda, presiona ◆ ENCONTRADO. Al instante, todos los radares del equipo muestran una superposición OBJETIVO LOCALIZADO con quién reportó. La misión se cierra automáticamente a los 10 segundos.
📍 Marcadores Compartidos
Tres tipos de marcadores que se comparten con todo el equipo vía P2P:
- 👣 Huella — señal de presencia (círculo amarillo punteado en el radar).
- 🔄 Buscado — zona ya revisada (círculo azul punteado).
- ⚠️ Peligro — barranca, animal, riesgo (círculo rojo punteado).
Se colocan en tu posición GPS actual con un solo toque.
📻 Mensajes Rápidos
Cuatro botones predeterminados. Sin escribir, sin ver la pantalla. El mensaje aparece 3 segundos en el radar de todos los compañeros con una vibración corta:
- DESPEJADO — zona revisada, sin novedad.
- REGRESO — volviendo al punto base.
- APOYO — necesito refuerzo.
- PAUSA — alto temporal.
Modo Nocturno
El botón 🌙 cambia todo el radar a rojo sobre negro. La barra de barrido se detiene para no delatar tu posición en la oscuridad. Ideal para operativos nocturnos.
Privacidad
- 🔒 Solo quien tenga el código exacto de misión verá las ubicaciones del equipo.
- 🗑️ Al salir de la misión, tu posición se borra inmediatamente del servidor y del mesh P2P.
- ⏱️ Si no sales manualmente, tu posición expira a los 60 segundos de inactividad.
- ⚠️ Antes de entrar, la app pide consentimiento explícito informando que compartirás tu ubicación en tiempo real.
Misión Centinela — Patrullaje Comunitario
La Misión Centinela es el sistema de patrullaje comunitario para equipos de 10-13 personas que realizan vigilancia rutinaria 7 días a la semana. Usa el Raspberry Pi Comunitario como hub central para que todos los centinelas se vean entre sí en tiempo real.
¿Cómo funciona?
- Abre la sección 🛡️ Centinela en el menú lateral.
- Selecciona tu sub-zona asignada (Entrada Norte, Centro, Camino al Río, etc.).
- Si eres el líder del turno, marca 🎖️ Soy líder de turno.
- Presiona ◆ Iniciar Patrullaje. Tu ubicación GPS se comparte con todo el equipo via el Pi.
La Misión Centinela requiere el Raspberry Pi Comunitario con hotspot WiFi activado. Sin el Pi, el sistema degrada automáticamente a modo P2P directo (solo ves a los compañeros cercanos, no a todo el equipo).
Sub-zonas coloreadas
Cada centinela se asigna a una sub-zona con un color distintivo en el radar:
- 🟢 Entrada Norte — verde
- 🔵 Centro — azul
- 🟠 Camino al Río — naranja
- 🟣 Perímetro Este — morado
- 🩵 Perímetro Oeste — cyan
- 🔴 Salida Sur — rojo
De un vistazo, el comité ve cuántas personas hay en cada zona sin necesidad de preguntar.
Geocerca de sub-zona
Si te asignaron a una sub-zona pero te desvías fuera de sus límites, el teléfono vibra y muestra un aviso ⚠️ FUERA DE ZONA. Al regresar, se calla automáticamente. Ideal para no desorientarse de noche.
Líder de turno
Un centinela se marca como 🎖️ líder. Su blip en el radar sale con borde blanco y más grande. Si alguien se aleja más de 80m del líder:
- El rezagado recibe vibración de advertencia
- El líder también recibe la alerta — sabe quién se alejó sin que el otro tenga que avisar
Fatiga individual — anillo en el blip
Cada centinela tiene su propio reloj de horas activas. El blip en el radar muestra un anillo de color según el tiempo acumulado:
- 🟡 Amarillo — 4 a 6 horas
- 🟠 Ámbar — 6 a 8 horas
- 🔴 Rojo — más de 8 horas
A las 10 horas, la app avisa en privado. A las 12 horas, el aviso se vuelve visible para todo el equipo — sin que el centinela tenga que pedir relevo.
Marcadores y mensajes rápidos
Mismas herramientas que en Misiones de Búsqueda: 👣 Huella, 🔄 Revisado, ⚠️ Peligro, y mensajes DESPEJADO, REGRESO, APOYO, PAUSA.
Botón de pánico del rondín
El botón 🆘 PANICO envía una alerta de máxima prioridad a todos los centinelas via el Pi y también activa el sistema de Pánico Vecinal para cobertura más amplia. Confirmación antes de disparar para evitar falsas alarmas.
💡 Linterna sincronizada
El botón 💡 Linterna — 3 destellos hace parpadear la pantalla en blanco. El Pi retransmite la orden y todos los teléfonos del equipo destellan al mismo tiempo. Sirve para ubicarse visualmente de noche cuando el GPS es impreciso.
Reporte para la asamblea
El Dashboard de Asamblea (/monitoreo/dashboard_asamblea.php) muestra:
- 📊 Horas acumuladas por persona
- 📋 Asistencia por roster — quién cumplió, quién no
- ⚠️ Incidentes del Pi — cuánto tiempo estuvo caído
- 🗺️ Cobertura real — calor de zonas patrulladas
Hombre Caído — Detección de Caídas
El sistema de Hombre Caído usa el acelerómetro del teléfono para detectar caídas durante el patrullaje. Si el teléfono registra un impacto brusco seguido de inmovilidad, activa una cuenta regresiva antes de enviar una alerta al equipo.
El acelerómetro del teléfono no es tan preciso como un reloj inteligente dedicado. Esta función es un respaldo adicional, no un reemplazo de la comunicación por radio o voz. Los umbrales necesitan calibración en campo real con cada tipo de teléfono y posición de carga.
Cómo funciona
- El acelerómetro monitorea constantemente los 3 ejes (X, Y, Z) durante el patrullaje.
- Si detecta un pico de aceleración mayor a 25 m/s² (impacto brusco): IMPACTO DETECTADO.
- Espera 15 segundos y verifica si hubo inmovilidad después del golpe.
- Si siguió moviéndose normal (se tropezó y siguió caminando): falso positivo, vuelve a normal.
- Si quedó inmóvil después del impacto: POSIBLE CAÍDA.
Cuenta regresiva — 20 segundos para cancelar
Cuando se detecta una posible caída, la app NUNCA alerta de inmediato. En vez de eso:
- Pantalla completa roja: "¿Estás bien? Se detectó una posible caída"
- Cuenta regresiva visible: 20... 19... 18...
- Botón gigante: "ESTOY BIEN — CANCELAR"
- Vibración agresiva para que lo notes aunque tengas el teléfono en el bolsillo
Si cancelas a tiempo, no pasa nada. Si dejas que la cuenta llegue a cero, se envía una alerta CRÍTICA a todo el equipo con tu última ubicación GPS.
Lo que ve el equipo
Si la alerta se confirma:
- 🔴 Toast rojo en todos los radares: "HOMBRE CAIDO — Juan en Entrada Norte"
- 📍 Marcador de peligro en la última ubicación conocida
- 📳 Vibración triple larga inconfundible
- 🚨 Se activa también el Pánico Vecinal para cobertura amplia
Calibración en campo
Antes de confiar en esta función, el equipo debe probarla:
- 2-3 rondines simulan tropiezos/caídas controladas (sobre pasto) con el teléfono en su posición habitual de carga.
- Registrar la magnitud real que generó cada prueba para ajustar los umbrales.
- Contar cuántos falsos positivos genera en una semana de uso normal antes de activarla en producción.
Pi Comunitario — Hub SFU + Señalización Local
El Raspberry Pi Comunitario es un dispositivo portátil que cumple dos funciones:
- 🔄 Hub SFU: en Misión Centinela, todos los teléfonos se conectan al Pi (1 conexión cada uno, no 12). El Pi recibe las ubicaciones y las retransmite a todos. Esto permite que 10-13 centinelas se vean en el radar sin saturar el WiFi.
- 📡 Señalización WebRTC: en Misiones de Búsqueda, el Pi ayuda a los teléfonos a descubrirse entre sí sin necesidad de internet.
¿Cómo funciona?
- El Pi se configura como hotspot WiFi portátil (SSID: Yavii-Ronda).
- Ejecuta
pi-signaling/server.js— un servidor WebSocket que maneja señalización y relay de datos. - Todos los teléfonos del equipo se conectan a la red WiFi del Pi.
- En modo Centinela: cada teléfono envía su ubicación al Pi, y el Pi la retransmite a todos (hub SFU).
- En modo Búsqueda: el Pi facilita el descubrimiento WebRTC entre teléfonos.
Ventajas
- 🌐 Cero dependencia de internet — ideal para el monte.
- 📱 Multiplataforma — funciona con Android y iPhone.
- 🔋 Batería externa — una powerbank de $300 pesos alimenta el Pi por horas.
- 🔊 Altavoz USB opcional — para disparar alarmas audibles en el punto base.
Sin Pi también funciona
Si no hay Pi disponible:
- Misiones de Búsqueda: usa automáticamente señalización vía internet (si hay) o QR/BLE.
- Misión Centinela: degrada a modo P2P directo — solo ves a compañeros cercanos. Para ver a todo el equipo de 10-13 personas, el Pi es necesario.
Check-in de Vida
El Check-in de Vida es una confirmación periódica que cada miembro del equipo debe hacer durante una misión o patrullaje. El líder define el intervalo (3, 5, 10 o 15 minutos). Al vencer el tiempo, el teléfono vibra hasta que confirmes. Si no confirmas, se escala una alerta al equipo con tu última ubicación.
El widget Check-in de Vida aparece en la pantalla de Inicio. Presiona ▶️ Iniciar (5 min) para activar el monitoreo. El widget muestra tu último check-in y el próximo en:.
4 métodos de confirmación
| Método | Luz | Sacar teléfono | Cuándo |
|---|---|---|---|
| 🔢 PIN en pantalla | Sí | Sí | Normal |
| 🔢↩ PIN inverso | Sí (idéntico) | Sí | Coacción: se ve normal, envía alerta silenciosa |
| 🔉🔉 Doble clic volumen abajo | ❌ | ❌ | Noche, peligro. Dedos encuentran el botón por tacto |
| 🔉🔉🔉 Triple clic volumen abajo | ❌ | ❌ | Coacción nocturna. Alerta silenciosa |
| 👆👆 Doble toque (acelerómetro) | ❌ | ❌ | Respaldo. Palmada sobre el teléfono en el bolsillo |
| 👆👆👆 Triple toque (acelerómetro) | ❌ | ❌ | Coacción por acelerómetro |
Si estás en peligro y te obligan a confirmar, ingresa tu PIN al revés o presiona volumen 3 veces. La pantalla muestra ✅ normal. Por debajo se envía una alerta de coacción al equipo con tu ubicación. El atacante no nota nada.
Cartero sin Internet (Gossip)
El Cartero Digital puede enviar mensajes entre teléfonos sin internet usando Bluetooth y WiFi Direct. Un mensaje salta de teléfono en teléfono hasta llegar al destinatario, sin emparejar ni tocar pantallas.
¿Cómo funciona?
- Escribes un mensaje en el Cartero. Si no hay internet, se guarda cifrado en tu teléfono.
- Tu teléfono emite una señal: "tengo mensajes pendientes".
- Cuando otro teléfono con Yavii pasa cerca, recibe el mensaje cifrado automáticamente.
- Ese teléfono sigue su camino. Cuando llegue a zona con internet, sube el mensaje al servidor.
- El destinatario lo recibe al abrir su app.
El gossip automático solo funciona en la versión APK de Yavii (usa Google Nearby Connections). La versión web requiere internet o P2P manual con QR.
Seguridad
- 🔐 Cifrado E2EE: los teléfonos intermedios transportan blobs cifrados, no pueden leer el contenido.
- 🔄 TTL de 3 saltos: el mensaje puede pasar por hasta 3 dispositivos antes de expirar.
- 🛡️ UUIDs rotativos diarios: impide que escáneres externos identifiquen teléfonos con Yavii.
- ✅ Verificación al abrir: el mensaje solo aparece en tu bandeja si pasa verificación ECDSA + descifrado ECDH.
Notificaciones Push
Yavii puede enviar notificaciones push directamente a tu celular cuando ocurre una emergencia en tu comunidad. Esto funciona incluso si la app está cerrada.
- Cuando abres la app en tu celular, se registra automáticamente tu token de notificación
- Si alguien reporta una emergencia (armas, vehículos, disparos), se envía una notificación a todos los usuarios
- La notificación aparece en tu celular aunque la app esté cerrada
- Al tocar la notificación, se abre la app directamente en la sección de alertas
📱 En la APK
Las notificaciones push funcionan automáticamente en la versión APK de Yavii. No necesitas hacer nada — solo mantén la app instalada.
🌐 En la versión web
Las notificaciones push no están disponibles en la versión web del navegador. Para recibir alertas en tiempo real, abre la app regularmente o usa la APK.
Al instalar la APK, Android te pedirá permiso para enviar notificaciones. Acepta para recibir alertas de emergencia. Si los rechazaste, ve a Ajustes → Aplicaciones → Yavii → Notificaciones y actívalos.
LoRa / Comunicación Off-Grid
LoRa (Long Range) es la tecnología que permite a Yavii funcionar sin internet, sin WiFi, sin señal celular. Con un rango de 2-15 km por salto, las comunidades Triqui pueden comunicarse entre sí incluso en las montañas de Oaxaca.
Un nodo Meshtastic (ESP32 + LoRa) se conecta al Raspberry Pi hub por Serial/USB. La app Yavii se conecta al Pi por WebSocket. Los mensajes viajan: Teléfono → Pi → LoRa → Otras comunidades. Sin internet necesario.
🔋 Hardware Necesario
Por comunidad se necesitan 2-3 nodos (1 principal + 1 respaldo + 1 portátil para Centinela):
- Nodo principal: ESP32 + LoRa SX1262 (~$12 USD) — conectado al Pi hub
- Nodo de respaldo: ESP32 + LoRa SX1262 (~$12 USD) — en segundo punto neutral
- Nodo portátil: Heltec LoRa 32 V3 (~$19 USD) — para Centinela en campo
- Antenas: 915 MHz ISM (~$2 USD cada una)
- Solar: Panel 6V + batería 18650 (~$11 USD)
📦 Instalación Rápida
En el Raspberry Pi:
pip3 install meshtastic websockets pyserial
python3 meshtastic-relay.py --serial /dev/ttyUSB0
🔐 Seguridad
- Cifrado AES-256: Todo el tráfico LoRa está cifrado
- HMAC Authentication: El WebSocket requiere autenticación
- Store & Forward: Mensajes guardados cuando no hay destinatario
- Nodo de respaldo: Si el principal cae, el respaldo toma control
📊 Alcance
- Urbano: 2-5 km por salto
- Rural (montañas): 5-15 km por salto
- Con repetidores: Ilimitado (mesh multi-salto)
- Récord mundial: 331 km en línea de vista
Los nodos LoRa deben estar en puntos neutrales (iglesia, escuela, comunal) — NUNCA en casa del agente o líder. Si los capturan, la comunidad pierde comunicación. Usa el nodo de respaldo en ubicación separada.