Política de privacidad
Vetrala: Frontera de Ceniza
com.cactofaro.vetrala · Fecha de actualización: 2026-11-06
Responsable y alcance
Esta política describe la versión Android de Vetrala: Frontera de Ceniza (paquete com.cactofaro.vetrala). El titular es Jonathan La Cruz, que publica con el nombre comercial Cacto Faro. Contacto: jonathan@lacruz.me.
Datos personales y funcionamiento local
El juego no solicita cuentas ni datos personales como nombre, correo, contactos o ubicación. No muestra anuncios ni ofrece compras integradas. Desde Android 1.06 utiliza Google Analytics para Firebase y Firebase Crashlytics, servicios de Google, para medir el uso y detectar fallos, como se explica a continuación. Las partidas guardadas, el progreso de campaña, las preferencias, la racha del desafío diario y la experiencia (XP) de comandante se conservan en el almacenamiento privado del dispositivo. El desafío diario se calcula con la fecha UTC del dispositivo; no se descarga de un servidor. Las partidas por internet, si eliges jugarlas, usan además un servicio del titular, como se explica a continuación.
Estadísticas de uso y errores (Android 1.06)
Con «Enviar estadísticas de uso y errores» activado, Google recibe eventos de navegación y juego (inicio y resultado de partidas, duración, modo, estrellas, progreso del tutorial, operaciones y evento semanal, racha, nivel del comandante, idioma y opciones), y datos técnicos (versión de la app y Android, modelo del dispositivo y nivel gráfico). También se observan los intentos y motivos categorizados de conexión en LAN e internet, las desconexiones y reconexiones, la apertura de avisos locales por tipo y las partidas abandonadas, sin códigos ni datos de los participantes. Crashlytics recibe informes de cierres Java y nativos, trazas de pila, estado de la app y diagnósticos de estabilidad. No enviamos nombres de jugador, nombres de sala, códigos de invitación, contenido compartido, texto libre ni direcciones de red en los parámetros de esos eventos.
Los SDK utilizan identificadores seudónimos de instalación o instancia y, cuando está disponible, el identificador de publicidad de Android. Google procesa la dirección IP necesaria para la conexión y Analytics puede derivar una ubicación aproximada (país o ciudad); no pedimos ubicación precisa ni permiso de ubicación. Estos datos no son anónimos en origen. Sirven para mejorar el juego, corregir fallos y medir y optimizar la campaña de instalaciones en Google Ads, incluida una primera victoria como señal de calidad. No creamos cuentas ni enviamos un identificador propio de usuario. La app desactiva las señales de personalización publicitaria; la atribución no exige mostrar anuncios dentro del juego.
La opción está activada por defecto. Puedes desactivarla en Ajustes → «Enviar estadísticas de uso y errores» sin perder ninguna función de juego. La elección se guarda en el dispositivo y controla Analytics y Crashlytics. Al desactivarla se detienen los nuevos envíos de estos servicios, se reinician los datos locales de Analytics y se descartan los informes pendientes de Crashlytics; los datos que ya llegaron a Google no se borran retroactivamente con este interruptor. Crashlytics puede conservar un informe local tras un cierre con el envío desactivado; se descarta al arrancar con la opción desactivada. Eliminar los datos o reinstalar restablece la opción predeterminada. El ID publicitario también puede eliminarse o restablecerse en los ajustes de privacidad de Android.
Las conexiones con Firebase están cifradas en tránsito (HTTPS). La conservación remota depende de la configuración del proyecto y de los plazos de Google Analytics y Crashlytics; no prometemos un borrado al desinstalar. El titular consulta informes de Firebase y Analytics y puede vincularlos con Google Ads para medición de campañas. Más información: privacidad de Google y privacidad y seguridad de Firebase. Para consultas o solicitudes sobre los datos, escribe al contacto de esta política.
Partidas en red local
Cuando eliges jugar en LAN, los dispositivos intercambian directamente direcciones IP locales y puertos, configuración de partida, códigos de sala y datos temporales de sesión, órdenes y estado del juego. La forma habitual de jugar es conectar los dispositivos a la misma Wi-Fi. La app admite direcciones de red local y no verifica el nombre de la Wi-Fi. Uno de los dispositivos actúa como anfitrión; no hay cuentas en línea ni chat. Estos datos técnicos y de partida se utilizan para descubrir la sala, conectar y sincronizar el juego, no para identificarte o crear perfiles. La comunicación TCP/UDP local no está cifrada; el código de sala controla el acceso y no equivale a cifrado.
Partidas por internet
Si eliges crear o unirte a una sala por internet, la app usa un servicio de señalización del titular alojado en Cloudflare (Cloudflare Workers y Cloudflare Realtime). Ese servicio recibe el código de sala, un token temporal de participante y los mensajes técnicos con los que los dispositivos se encuentran (ofertas de conexión WebRTC y candidatos de red, que incluyen direcciones IP públicas y puertos), y devuelve credenciales temporales de retransmisión. La partida en sí (órdenes y estado del juego) viaja directamente entre los dispositivos por WebRTC, por lo que cada participante conoce la dirección IP de los demás; si no hay camino directo, viaja a través del servidor de retransmisión (TURN) de Cloudflare, sin que el titular la registre. Todo lo anterior está cifrado en tránsito (HTTPS/WSS y DTLS). Para evitar abusos, antes de entregar credenciales de retransmisión la app obtiene de Google Play una comprobación de integridad (Play Integrity API) que el servicio verifica con Google: indica si la app es la distribuida por Google Play, si se instaló desde Play y si el dispositivo es auténtico. No contiene tu nombre, cuenta ni identificadores del dispositivo, y el titular no la guarda; solo anota en la sala que ese participante la superó. Al terminar cada conexión, la app envía un resumen anónimo de su calidad (plataforma, tipo de red Wi-Fi o datos móviles, si fue directa o retransmitida, latencia, variación, pérdida, reconexiones y duración), sin dirección IP ni identificadores; el servicio solo conserva totales por día. El servicio agrega además recuentos diarios anónimos de salas creadas, intentos de unión, fallos por categoría y salas expiradas sin invitados. Las salas y sus mensajes se borran al vaciarse la sala (en un minuto), tras 30 minutos sin conexiones o a las 24 horas como máximo. El titular no guarda direcciones IP; Cloudflare, como proveedor, puede tratarlas para prestar y proteger el servicio según su política de privacidad (https://www.cloudflare.com/privacypolicy/).
Permisos de Android
INTERNET permite abrir las conexiones de las partidas en red local y por internet. CHANGE_WIFI_MULTICAST_STATE permite mantener la recepción necesaria durante la búsqueda de salas. WAKE_LOCK mantiene la Wi-Fi en modo de baja latencia solo mientras dura una partida en red. ACCESS_NETWORK_STATE permite que una partida local use la red Wi-Fi aunque el teléfono prefiera los datos móviles. CHANGE_NETWORK_STATE permite que, durante una partida por internet, la conexión pueda seguir por datos móviles si la Wi-Fi falla. No se leen ni guardan datos de la red. AD_ID permite a Google atribuir instalaciones y conversiones de la campaña publicitaria; también se incorporan permisos de atribución de Android y de referencia de instalación de Google Play. POST_NOTIFICATIONS solo se solicita si activas los avisos locales opcionales; RECEIVE_BOOT_COMPLETED permite reprogramarlos tras reiniciar. El juego no pide acceso a contactos, cámara, micrófono, ubicación ni fotos del dispositivo.
Compartir por decisión del usuario
Solo al pulsar Compartir se genera una imagen PNG del resultado en la caché privada y se abre el selector del sistema. Puedes elegir la aplicación receptora o cancelar. Se entrega permiso de lectura para esa imagen y un texto de resultado, que puede incluir la configuración de un reto mediante un enlace vetrala://reto. No se sube automáticamente ningún contenido. En una sala por internet, «Compartir enlace» abre el mismo selector con un texto que contiene el código de la sala y un enlace a ella (https://vetrala-online.vetrala-online.workers.dev/s/ seguido del código); quien lo recibe puede abrirlo para unirse. Si el enlace se abre en un navegador, la página la sirve el mismo servicio del titular en Cloudflare, que no consulta la sala ni registra la visita. La aplicación receptora puede guardar o enviar lo compartido conforme a su propia política; esas copias quedan bajo tu control y el de esa aplicación.
Conservación y eliminación
Los guardados y preferencias permanecen localmente hasta que se sustituyen o eliminas los datos de la aplicación en Ajustes de Android, o desinstalas el juego. La configuración Android deshabilita la copia de seguridad y excluye los datos del juego de la copia en nube y la transferencia entre dispositivos. Las imágenes para compartir son archivos de caché; al generar una nueva se eliminan archivos anteriores de más de seis horas, no mediante un borrado programado a las seis horas. Borrar los datos del juego no elimina imágenes o mensajes ya entregados a otras aplicaciones. El titular no mantiene cuentas remotas de jugadores; los servicios de Google sí conservan la telemetría descrita en esta política.
Menores
El juego se dirige a personas de 13 años o más. No se solicitan nombres ni cuentas; las estadísticas opcionales y sus identificadores técnicos descritos arriba se aplican también a jugadores adolescentes. El juego contiene combate de fantasía con unidades y vehículos. Madres, padres y tutores deben consultar la clasificación por edades de la tienda y supervisar el juego en red (local o por internet) y las acciones de compartir. Esta política no sustituye la clasificación por edades ni declara una audiencia infantil específica.
Contacto y cambios
Para consultas sobre esta política escribe a jonathan@lacruz.me, a la atención de Jonathan La Cruz. Si decides escribir, el correo que envíes contendrá los datos que tú incluyas y se gestionará fuera del juego para atender tu consulta. Cualquier cambio en estas prácticas se reflejará en una versión actualizada de esta página.
Jonathan La Cruz · jonathan@lacruz.me
———
Privacy policy
Vetrala: Frontera de Ceniza
com.cactofaro.vetrala · Last updated: 2026-11-06
Owner and scope
This policy describes the Android version of Vetrala: Frontera de Ceniza (package com.cactofaro.vetrala). The owner is Jonathan La Cruz, publishing as Cacto Faro. Contact: jonathan@lacruz.me.
Personal data and local operation
The game does not ask for accounts or personal data such as your name, email address, contacts or location. It shows no ads and offers no in-app purchases. Starting with Android 1.06, it uses Google Analytics for Firebase and Firebase Crashlytics, provided by Google, to measure usage and detect failures as described below. Saved games, campaign progress, preferences, the daily challenge streak and commander experience (XP) are kept in the device's private storage. The daily challenge is computed from the device's UTC date; it is not downloaded from a server. Internet games, if you choose to play them, also use a service operated by the owner, as explained below.
Usage statistics and crash reports (Android 1.06)
When “Send usage statistics and crash reports” is enabled, Google receives navigation and gameplay events (match starts and results, duration, mode, stars, tutorial progress, operations and weekly events, streaks, commander level, language and settings), and technical data (app and Android versions, device model and graphics tier). Events also cover LAN and internet connection attempts and categorized failures, disconnections and reconnections, local reminder opens by type and abandoned matches, without room codes or participant data. Crashlytics receives Java and native crash reports, stack traces, app state and stability diagnostics. We do not put player names, room names, invitation codes, shared content, free text or network addresses in these event parameters.
The SDKs use pseudonymous installation or app instance identifiers and, when available, the Android advertising ID. Google processes the IP address needed for the connection and Analytics may derive approximate location (country or city); we do not request precise location or location permission. These data are not anonymous at source. They help improve the game, fix failures and measure and optimize the Google Ads installation campaign, including a first victory as a quality signal. We create no accounts and send no custom user ID. The app disables advertising personalization signals; attribution does not require displaying ads inside the game.
The option is on by default. You can turn it off in Settings → “Send usage statistics and crash reports” without losing any gameplay feature. Your choice is stored on the device and controls both Analytics and Crashlytics. Turning it off stops new transmissions from these services, resets local Analytics data and discards pending Crashlytics reports; it does not retroactively delete data already received by Google. Crashlytics may keep a local report after a crash while sending is disabled; it is discarded when the app starts with the option disabled. Clearing app data or reinstalling restores the default. The advertising ID can also be deleted or reset in Android privacy settings.
Firebase connections are encrypted in transit (HTTPS). Remote retention depends on project settings and Google Analytics and Crashlytics retention periods; uninstalling does not guarantee remote deletion. The owner views Firebase and Analytics reports and may link them to Google Ads for campaign measurement. See Google’s privacy policy and Firebase privacy and security. Contact the address in this policy with data questions or requests.
Local network games
When you choose LAN play, devices exchange local IP addresses and ports, game configuration, room codes and temporary session data, commands and game state directly. The usual setup is to connect the devices to the same Wi-Fi. The app accepts local network addresses and does not check the Wi-Fi name. One device hosts the game; there are no online accounts or chat. These technical and gameplay data are used to discover the room, connect and synchronize play, not to identify you or build profiles. Local TCP/UDP traffic is not encrypted; the room code controls access and is not encryption.
Internet games
If you choose to create or join an internet room, the app uses a signaling service operated by the owner and hosted on Cloudflare (Cloudflare Workers and Cloudflare Realtime). That service receives the room code, a temporary participant token and the technical messages the devices use to find each other (WebRTC connection offers and network candidates, which include public IP addresses and ports), and returns temporary relay credentials. The game itself (orders and game state) travels directly between the devices over WebRTC, so each participant learns the others' IP addresses; when there is no direct path it travels through Cloudflare's relay (TURN) server, and the owner does not record it. All of this is encrypted in transit (HTTPS/WSS and DTLS). To prevent abuse, before handing out relay credentials the app obtains an integrity check from Google Play (Play Integrity API), which the service verifies with Google: it states whether the app is the one distributed by Google Play, whether it was installed from Play and whether the device is genuine. It contains no name, account or device identifiers, and the owner does not keep it; the room only records that the participant passed. When each connection ends, the app sends an anonymous summary of its quality (platform, network type Wi-Fi or mobile data, whether it was direct or relayed, latency, variation, loss, reconnections and duration), with no IP address or identifiers; the service keeps only daily totals. The service also aggregates anonymous daily counts of rooms created, join attempts, failures by category and rooms that expire without guests. Rooms and their messages are deleted when the room empties (within a minute), after 30 minutes without connections, or after 24 hours at most. The owner does not keep IP addresses; Cloudflare, as the provider, may process them to provide and protect the service under its privacy policy (https://www.cloudflare.com/privacypolicy/).
Android permissions
INTERNET opens the connections for local network and internet games. CHANGE_WIFI_MULTICAST_STATE keeps the reception needed while discovering rooms. WAKE_LOCK keeps Wi-Fi in low-latency mode only while a network game is running. ACCESS_NETWORK_STATE lets a local game use Wi-Fi even when the phone prefers mobile data. CHANGE_NETWORK_STATE lets an internet game continue over mobile data if Wi-Fi fails. No network data is read or stored. AD_ID lets Google attribute campaign installations and conversions; Android attribution and Google Play install referrer permissions are also included. POST_NOTIFICATIONS is requested only if you enable optional local reminders; RECEIVE_BOOT_COMPLETED reschedules them after reboot. The game does not ask for access to contacts, camera, microphone, location or photos on the device.
Sharing at your request
Only when you press Share does the game create a PNG result image in its private cache and open the system chooser. You may select a receiving app or cancel. The receiving app is granted read access to that image and receives result text, which may include challenge configuration through a vetrala://reto link. No content is uploaded automatically. In an internet room, “Share link” opens the same chooser with text containing the room code and a link to it (https://vetrala-online.vetrala-online.workers.dev/s/ followed by the code); whoever receives it can open it to join. If the link is opened in a browser, the page is served by the same owner-operated service on Cloudflare, which does not look up the room or record the visit. The receiving app may store or send the shared content under its own policy; those copies are controlled by you and that app.
Retention and deletion
Saves and preferences remain locally until replaced or until you clear the app’s data in Android Settings or uninstall the game. Android configuration disables backups and excludes game data from cloud backup and device transfer. Share images are cache files; when a new image is created, existing files older than six hours are removed. This is not a scheduled deletion exactly six hours after creation. Clearing game data does not delete images or messages already passed to other apps. The owner does not maintain remote player accounts; Google services do retain the telemetry described in this policy.
Children
The game is intended for people aged 13 and over. We do not request names or accounts; the optional statistics and technical identifiers described above also apply to teenage players. The game contains fantasy combat involving units and vehicles. Parents and guardians should consult the store’s age rating and supervise network play (local or over the internet) and sharing. This policy does not replace the age rating or declare a specific child audience.
Contact and changes
For questions about this policy, contact jonathan@lacruz.me, addressed to Jonathan La Cruz. If you choose to email us, your email will contain the information you include and will be handled outside the game to answer your inquiry. Changes to these practices will be reflected in an updated version of this page.
Jonathan La Cruz · jonathan@lacruz.me