Vecino Seguro
Avisa a tu cuadra de lo que acaba de pasar, en tres toques, sin dar tu nombre y sin que nadie pueda borrarlo despues.
Complementamos al serenazgo donde no llega o no genera confianza. No lo reemplazamos.
Lectura completa: 2 minutos. No hace falta crear cuenta para mirar.
Lo que esta pasando en Lima ahora
Ultimas 24 horas, agregado por zona. Abierto: no hace falta cuenta ni pagar.
—
reportes hoy
—
zonas activas
—
corroborados
Mirar es gratis. Participar tambien.
- Reportar lo que ves, con tu alias y sin dar tu nombre
- Confirmar el aviso de un vecino y ganar recompensa
- Avisar a tu familia cuando pasa algo cerca de ellos
El vecino nunca paga. Entrar con Google solo sirve para recuperar tu mismo alias en otro telefono — la red te sigue viendo como vecino-1234.
El problema
5,600 habitantes por agente de serenazgo en San Juan de Lurigancho
Villa El Salvador, Comas, San Juan de Miraflores, Chorrillos, El Agustino, Carabayllo y San Martín de Porres superan los 2,000 hab/agente. En San Isidro o Miraflores la proporción es muchísimo menor.
Fuente: docs/PROYECTO.md — cobertura desigual de serenazgo
57% de peruanos desconfía del serenazgo
Con casos documentados de corrupción dentro del propio servicio. Reportar a una sola institución no es una opción neutral para mucha gente.
Fuente: IEP, 2025 (citado en docs/PROYECTO.md)
Las apps municipales existentes dependen 100% del serenazgo
Alerta Surco, Alerta Chorrillos, Alerta Pueblo Libre y similares usan al municipio para reportar, validar y responder. No cubren el vacío donde el serenazgo es débil.
Fuente: docs/PROYECTO.md — panorama competitivo
Ningún producto combina geolocalización + evidencia inmutable + validación sin institución única
ResPública Seguridad (Argentina), AnonReport y las redes DePIN tipo Hivemapper resuelven piezas sueltas del problema.
Fuente: docs/PROYECTO.md — análisis de alternativas
Como funciona
1.Reportas en tres toques
Eliges que paso, adjuntas una foto si puedes y la ubicacion se toma sola. Sin formularios, sin registro.
2.Queda como prueba con fecha cierta
La huella digital del reporte se graba en Arbitrum. Ni nosotros ni un municipio podemos editarla o borrarla despues.
3.Tu cuadra se entera al instante
Aparece en el mapa del vecindario. Si hay alguien de tu circulo cerca, recibe el aviso con su telefono a un toque.
4.Y si hace falta, escalas
Un boton aparte avisa a serenazgo, policia o ambulancia. La red vecinal y la autoridad son caminos paralelos, no excluyentes.
¿Por que blockchain, y no una base de datos?
Porque el valor del producto es exactamente lo que una base de datos no puede dar: que nadie —ni el municipio denunciado, ni nosotros— pueda borrar un reporte incomodo. Si el registro lo guarda una sola institucion, el vecino que desconfia de esa institucion no tiene motivo para creerle.
Y por que en Arbitrum
Un reporte por vecino por día solo cierra si anclar cuesta fracciones de centavo. Ya no es una estimación: medido en Sepolia, submitReport consume 216,804 de gas — alrededor de un centavo en Arbitrum One y varios dólares en Ethereum L1. En L1 el producto no existe.
Anclar en Ethereum L1
$6.07
Anclar en Arbitrum One
$0.0076
799 veces mas barato. Un reporte por vecino por dia solo cierra a este precio. En L1 el mismo gesto cuesta dolares y el producto sencillamente no existe. Estimacion, no medicion: la cifra real se fija cuando el contrato este desplegado.
Asentamiento de evidencia. El hash del reporte vive en Arbitrum. Es lo que convierte un aviso en una prueba con fecha cierta que ninguna institución puede editar.
Economía del token. El costo de gas por mint tiene que ser menor que el valor de la recompensa. Con Arbitrum lo es; con L1 no.
Índice compartido vía eventos. El mapa multi-dispositivo se reconstruye leyendo ReportSubmitted, sin servidor propio ni base de datos.
Stylus (candidato de roadmap). La verificación geoespacial (distancia entre reportes, pertenencia a zona) es cómputo pesado para la EVM. En Stylus, con Rust, es barato. Anotado como siguiente paso, no como promesa cumplida.
Que funciona de verdad hoy
Un jurado que descubre solo que algo era simulado castiga mas que uno al que se lo advirtieron. Esta es la lista completa, sin filtrar, y es la misma que ve el equipo en el repositorio.
Anclaje on-chain
Hoy: Anclaje REAL en Arbitrum Sepolia: contratos desplegados y verificados, la wallet embebida de Privy firma (ADR-050), el gas llega solo (ADR-051) y hay reportes reales de la prueba de campo en el contrato. Quien no active la firma conserva el comprobante simulado, etiquetado (ADR-049).
Producción: cargar en Vercel NEXT_PUBLIC_PRIVY_APP_ID, NEXT_PUBLIC_REPORT_REGISTRY_DEPLOY_BLOCK y GAS_DRIP_PRIVATE_KEY, y hacer push (bloqueado hoy por la conexión a GitHub del equipo). La app de Privy sigue en modo development.
Anti-Sybil
Hoy: Límite por wallet y por zona, más multiplicador por corroboración independiente.
Un adversario con varios dispositivos todavía puede farmear. La prueba de presencia criptográfica es roadmap y así se dice en el pitch.
Círculo de cuidado
Hoy: Vinculo por QR o enlace con consentimiento explicito (ADR-046): quien comparte elige el plazo (15 min a indefinido) y corta cuando quiere. La posicion viaja cifrada de extremo a extremo — la clave va dentro del QR/enlace y el servidor solo ve sobres opacos con TTL de minutos. Geometria, avisos de cercania y deduplicacion, con tests.
Solo publica con la app abierta: sin proceso de fondo no hay avisos con el telefono bloqueado. En Vercel el canal necesita un Redis de Upstash (dos variables); sin el, cada telefono puede caer en una instancia distinta. Los contactos de demo siguen simulados y etiquetados, solo con NEXT_PUBLIC_DATOS_DEMO=1.
Acceso con Google
Hoy: Puerta de acceso selectiva con Auth.js (ADR-035): navegar no pide sesion, reportar y el circulo si. El alias se deriva de la cuenta, asi que entrar desde otro telefono devuelve el mismo seudonimo. Sin base de datos: la sesion es una cookie firmada en el dispositivo. Con Privy (ADR-050), la misma cuenta de Google activa una wallet embebida que firma los anclajes de verdad, con el gas goteado por la plataforma (ADR-051).
Si el despliegue no tiene credenciales de Google, tambien reportar y el circulo se abren solos para no dejar esas rutas inaccesibles. La derivacion del alias es de demostracion, no una KDF.
Revelación selectiva
Hoy: Demostración del mecanismo 2-de-3 y del rastro público de cada solicitud.
Integración legal real con el Poder Judicial y custodia de claves por un tercero acreditado.
Escalamiento a la autoridad
Hoy: Ruta API que valida y emite folio; reenvía a un webhook real si está configurado.
Convenio con un municipio y su endpoint de recepción.
Índice compartido
Hoy: Lee los eventos ReportSubmitted del contrato real y los fusiona con lo local: dos teléfonos en modo arbitrum ven los mismos reportes anclados.
Las corroboraciones aún no se sincronizan: un reporte reconstruido desde el evento llega sin descripción ni conteo de corroboraciones de otros dispositivos.
Detección de distrito
Hoy: 49 distritos de referencia de Lima y Callao, resueltos en el dispositivo. Si el punto no cae claramente dentro de uno, se dice 'Cerca de X' en vez de afirmarlo, y el vecino puede corregirlo a mano.
Cerca del borde de un distrito grande la estimación puede apuntar al vecino de al lado. No se usa geocoding externo a propósito: enviaría la coordenada del vecino a un tercero.
Detección de sismos
Hoy: Los sismos llegan del Centro Sismológico Nacional del IGP (ADR-042): la app alerta a quien está dentro del radio de esa magnitud, con distancia y rumbo, y el vecino responde cómo lo sintió. Esas respuestas, agregadas por zona, dan el mapa de intensidad.
Seguimos sin medir nada: la detección es del IGP y la app lo dice. Las respuestas de intensidad son locales al dispositivo hasta que haya contrato; el IGP no publica SLA para su endpoint, así que si no responde la app se degrada con aviso.
Evidencia en IPFS
Hoy: CID determinista calculado desde el hash del archivo.
Pinata con JWT en variables de entorno de Vercel.
Si eres del jurado, esto es lo que ibas a preguntar
¿Cuantos contratos son y que hace cada uno?
Tres. ReportRegistry ancla el hash del reporte, TokenReward mintea la recompensa con los limites anti-Sybil, IdentityEscrow custodia el vinculo wallet-identidad bajo multisig 2-de-3.
¿Que version de Solidity y con que optimizador?
Solidity 0.8.28. El perfil de produccion compila con el optimizador activo a 200 runs. Hardhat 3 aislado en contracts/, como proyecto propio.
¿Y la reentrancy?
El mint es conservador y en dos pasos, con patron pull: el vecino reclama, el contrato no empuja. No hay callback a una direccion arbitraria dentro del flujo de recompensa.
¿Estan desplegados en Arbitrum Sepolia?
Todavia no. Estan escritos, compilados y con sus tests en verde; el despliegue necesita una wallet con ETH de testnet. Lo decimos aqui y no en la letra chica: mientras tanto la app corre con el adaptador simulado.
¿Que pasa si me roban el telefono y ven la app?
No hay nombre, ni telefono, ni correo en lo que se publica: solo un alias tipo vecino-1234. Iniciar sesion con Google sirve para recuperar ese mismo alias en otro telefono, no para identificarte ante los vecinos.
¿Esto reemplaza al serenazgo?
No, y no queremos. El boton de escalar a serenazgo, policia o ambulancia es parte del producto. Somos la capa que funciona donde ellos no llegan o no generan confianza.
Para quien
Vecino de un distrito con cobertura débil
Avisar rápido y sin exponerse a represalias del denunciado.
Junta vecinal o directiva de condominio
Ver patrones por zona y coordinar respuesta sin depender de un grupo de WhatsApp caótico.
Serenazgo o comisaría
Recibir avisos georreferenciados con evidencia que sirva como prueba, no rumores.
Municipio, aseguradora u ONG
Mapas de riesgo agregados y anonimizados para decidir dónde invertir.