FoxSDR 0.99.39 · BETA ABIERTA
Traducción automática

Esta es una traducción automática; la versión en inglés es la que vincula. Leer la versión en inglés

← Volver a FoxSDR

Privacidad y cookies

Este aviso cubre dos cosas distintas: la aplicación FoxSDR que instalas y este sitio web. Recogen datos distintos, por motivos distintos, y se describen por separado más abajo — primero la aplicación, porque es la parte que se ejecuta en tu propio equipo. Está escrito para ser completo, no breve: se enumera cada campo que guarda cualquiera de los dos, incluidos los que la mayoría de los avisos omiten.

La aplicación: qué envía

No hay cuenta, ni clave de licencia, ni activación, y FoxSDR nunca informa de nada sobre lo que escuchas. Por iniciativa propia hace exactamente cuatro tipos de petición de red: una comprobación de actualizaciones; un informe de uso anónimo, con un pequeño latido de “sigo en marcha” mientras la aplicación está abierta; un informe de fallo o de bloqueo después de un error; y — solo cuando tú abres la tienda de plugins o pulsas COMPROBAR AHORA en ella — una petición al catálogo de plugins. Cada una se describe más abajo, campo por campo, y cada una se puede desactivar. Tres interruptores las controlan: SISTEMA → Actualizaciones, SISTEMA → Informes de uso y SISTEMA → Diagnóstico. Ninguna función depende de que estén activados, y nada te insiste por desactivar uno.

Lo que se queda en tu equipo

Tus grabaciones, tanto de audio como de I/Q en bruto, las imágenes que forman los decodificadores de SSTV y de satélites meteorológicos, todo lo que decodifican los decodificadores, tus marcadores, planes de bandas, configuración, la posición de tu receptor y tus plugins instalados son archivos en tu propio disco. Nada los sube, y ninguna frecuencia que sintonices sale de tu equipo.

La comprobación de actualizaciones

Una vez por arranque, la aplicación pregunta a este sitio si existe una versión más reciente. La petición completa es GET /api/update?v= seguido de la versión que usas — sin identificador, sin id de instalación, sin cookie y sin nada que pueda vincularse a una petición posterior. Este servidor no escribe ningún registro de analítica para ella: solo se registran las visitas a páginas y las descargas de archivos, y el punto de actualización no es ninguna de las dos cosas. Desactívala en SISTEMA → Actualizaciones y la aplicación no vuelve a contactar con el servicio.

No se descarga ni se instala nada a menos que pulses el botón. Si lo pulsas, el instalador se descarga de este sitio web por HTTPS y su SHA-256 se comprueba contra el resumen que publicó el servidor antes de dar al archivo un nombre que cualquier cosa pudiera ejecutar — y esa descarga es una descarga normal de este sitio, así que se registra como cualquier otra, con la dirección IP, la ubicación aproximada, el navegador y el sistema operativo descritos en la parte de este aviso dedicada al sitio web.

Informes de uso

Desde la versión 0.53.0 existe un informe de uso anónimo, en SISTEMA → Informes de uso. Está activado por defecto, y puedes desactivarlo — desmarca esa casilla y los informes se detienen de inmediato. Se envía un informe por arranque, que describe la sesión que acaba de terminar, y esto es todo lo que contiene:

EnviadoEjemploPor qué
Identificador de instalación32 caracteres hexadecimales aleatoriosDistingue 100 usuarios de un solo usuario que arranca 100 veces. Se genera al azar en tu equipo en la primera ejecución, se borra cuando desactivas los informes y nunca se deriva de tu hardware, tu red ni tu nombre.
Versión de la aplicación0.99.39Si la gente actualiza. La alfa de Android informa de su propia compilación como 0.98.1-android.4 — un sufijo -android.N añadido al número de la versión a partir de la que se compiló, para que sus informes nunca se confundan con los del instalador de Windows.
Sistema operativoWindows 10.0.22631, Linux 6.8.0 o Android 14Qué plataformas se usan de verdad. El sistema operativo y su número de compilación, de kernel o de versión, nunca el nombre de tu equipo ni tu cuenta de usuario. La versión para Linux (0.99.39) y la alfa de Android (0.98.1-android.4) envían los mismos campos bajo el mismo interruptor.
Arquitecturax64 o arm64Como arriba.
Número de arranques12Si el software se usa más de una vez.
Número de fallos1Con qué frecuencia falla.
Duración de la sesión3600 segundosSi las sesiones duran minutos u horas.
Modelo de SDRuhd b200Qué radios priorizar. Los números de serie se eliminan antes del envío.
Demoduladores usados, y durante cuánto tiempoWFM: 3000sQué modos justifican más trabajo.
Paneles abiertosmap, decodedQué funciones se usan.
Plugins instaladosADS-B 1.0.0Qué decodificadores justifican más trabajo.

Esa es la lista completa. Se distribuye con la aplicación como PRIVACY.md, y una prueba automatizada comprueba el contenido enviado campo por campo, así que no se puede añadir un campo nuevo sin que esa prueba falle y sin actualizar ambos documentos. Desactivar los informes borra el identificador de instalación, así que si alguna vez los vuelves a activar obtienes uno nuevo que no se puede vincular con el anterior.

El informe se envía al arrancar, describiendo la sesión que ya ha terminado, y nunca al salir — una llamada de red al cerrar puede colgar una aplicación que alguien intenta cerrar, y un informe escrito al salir se perdería precisamente en el suceso que más merece contarse. No se lee ni se actúa sobre nada de la respuesta.

El latido de “sigo en marcha”

Un informe que llega cuando la aplicación arranca puede decir quién la abrió, pero nunca quién la sigue teniendo abierta. Por eso, mientras FoxSDR está en marcha — y solo mientras los informes de uso están activados — también envía un mensaje muy pequeño cada cinco minutos, con tres campos y nada más:

EnviadoEjemploPor qué
Identificador de instalaciónlos mismos 32 caracteres hexadecimales de arribaAsí, doce latidos de una misma copia cuentan como una copia en marcha, no como doce.
Versión de la aplicación0.99.39Así, “en marcha ahora” se puede desglosar por versión.
Marca de latido1Indica al receptor que esto es un latido y no un informe de sesión.

Nada de la sesión viaja con él: ni modos, ni paneles, ni modelo de radio, ni duraciones, ni contadores. Los latidos se escriben en un conjunto de datos propio, separado de los informes de sesión, para que ninguna cifra de uso cambie de significado. El mismo interruptor detiene ambos: el emisor se niega a activarse sin un identificador de instalación válido, y desactivar los informes de uso lo borra, así que desactivado significa ningún latido en absoluto. Un latido que sigue en curso cuando toca el siguiente se omite en lugar de ponerse en cola.

Adónde van los informes de uso

A un Cloudflare Worker gestionado por este proyecto en https://telemetry.foxsdr.com, que escribe los contadores anteriores en un conjunto de datos de Cloudflare Workers Analytics Engine. Cloudflare lo procesa por cuenta nuestra y lo conserva durante tres meses, tras los cuales desaparece. Nadie más lo recibe, no se vende, no se alquila ni se comparte, y lo único que se extrae de él son recuentos agregados, a través del mismo panel de control protegido con contraseña que se describe más abajo. El código fuente del Worker se publica con la aplicación, así que puedes leer lo que hace el extremo receptor. Los informes de fallo no van ahí — van al propio servidor de este sitio, descrito a continuación.

Informes de fallos y bloqueos

Si FoxSDR falla o deja de responder, escribe un informe que describe el error en %LOCALAPPDATA%\FoxSDR\crashes\ de tu propio equipo, y envía el texto del informe en el siguiente arranque — nunca desde dentro del propio fallo, porque un programa que acaba de fallar no puede abrir una conexión de red con seguridad. Va a POST /api/crash en este sitio web — no a Cloudflare ni a ningún tercero — y es anónimo: no hay cuenta, ni clave de licencia, ni nada con lo que iniciar sesión.

El interruptor es SISTEMA → Diagnóstico, y controla por igual la escritura y el envío: con él desactivado no se escribe ningún informe, no se crea ningún directorio y nunca se abre ninguna conexión. Es un interruptor distinto del de los informes de uso. Desactivar los informes de uso no detiene un informe de fallo — deja vacío el campo del identificador de instalación, porque entonces no existe ningún identificador y un informe de fallo nunca crea uno (consulta la última fila de la tabla de abajo). Hasta esta versión, el aviso de arriba nombraba el interruptor equivocado; el software siempre ha usado Diagnóstico, y ahora los dos dicen lo mismo.

Esto es todo lo que contiene un informe:

EnviadoEjemploPor qué
Qué pasócrash o hangUn bloqueo y un fallo son errores distintos.
Firma del errorcascade.exe+0x1a2b/adsb.dllAgrupa el mismo error notificado por muchas personas en una sola entrada, para que cien informes de un error sean una sola cosa que arreglar y no cien.
Versión de la aplicación, commit e id de compilación0.61.0, 28fa1c2En qué compilación ocurrió y qué símbolos le corresponden.
Módulo que falló y desplazamientocascade.exe, 0x1a2bEn qué parte del programa falló.
Sistema operativo y arquitecturaWindows 11, Linux o Android 14, x64 o arm64Los errores suelen ser propios de una plataforma. Un informe de Linux o de Android lleva los mismos campos; los marcos de pila nombran el id de compilación GNU de la biblioteca que falló en lugar de un id de PDB, ya que ninguna de las dos plataformas compila con MSVC.
Qué tipo de fallo fueaccess violation, 0xC0000005La propia línea de motivo del informe y el código de excepción de Windows. En particular, esto es lo que indica que un error fue absorbido — la aplicación lo superó — y no un fallo; sin ello, los dos parecen idénticos. Un código y una frase fija, nunca contenido.
Plugins cargados y sus versionesADS-B 1.1.0“Solo falla con el plugin ADS-B cargado” es una descripción del error; “falla a veces” no lo es.
Pilas de los hiloscascade.exe+0x1a2b por marcoLa pila es el error. Son solo nombres de módulos, ids de compilación y desplazamientos numéricos — sin rutas de código fuente, sin variables, sin contenido de memoria.
El final del registro de la sesiónopened rtlsdrThe last lines the application logged, which is usually what it was doing when it failed. It is the application's own log: it records state changes — source opened, rate set, plugin started — never signal content, and never the name or path of a file you opened. It also carries what the radio driver said and what its libraries printed to the standard error stream. Before any line of it leaves your computer, the application's own lines as well as the driver's, it is scrubbed: serial numbers and the device-specific part of USB device identifiers are replaced by <stripped>, the account name in a file path by <user>, and anything in single quotes, such as the names you give patch nodes and speakers, by '<name>'; on any line that mentions hertz, a frequency, tuning, a centre, a range, an offset, a carrier, a preset or transmitting, every number is replaced by # unless it is marked as a sample rate, a time, a level, a size or a count, is a version, an identifier or an error code, or is part of a name such as R820T; and lines in which the USB driver lists the devices plugged into your computer are left out, with one line saying how many.
Notas de contextomode: WFM, sampleRate: 2400000Unas pocas notas clave/valor que adjunta la aplicación: el modo, la fuente (generador, archivo I/Q o una radio real), la tasa de muestreo, si había un dispositivo abierto, el modelo de SDR sin números de serie, cuántos segundos llevaba en marcha la aplicación y si el hilo que falló estaba ejecutando código propio de FoxSDR o el de un controlador de radio. sampleRate es la tasa de muestreo, no una frecuencia sintonizada.
Identificador de instalación32 caracteres hexadecimales aleatorios, o vacíoSe usa para limitar la frecuencia de envío y después se descarta: el identificador de instalación no se guarda. Un equipo atrapado en un bucle de fallos no debe poder saturar el servidor, y distinguir un equipo de cien es lo único para lo que se lee. Aquí nunca se escribe en disco. Si los informes de uso están desactivados, se envía vacío — entonces no hay identificador, y un informe de fallo nunca crea uno.

Corrected in FoxSDR 0.99.33. Before 0.99.33 the scrubbing described above was applied only to the radio driver's lines, not to the application's own, and a few of the application's own lines could therefore reach a crash or freeze report carrying the frequency you had asked for or were transmitting on, a patch radio's label (which can include its serial number), the names you gave patch parts, the first line of text a decoder on the patch page had produced, and the list of USB devices the USB driver printed, including their serial numbers. That contradicted this notice. From 0.99.33 every line is scrubbed before it leaves your computer, and those log lines no longer contain those values in the first place.

Un informe de fallo no lleva ninguna frecuencia, nada decodificado, ninguna ruta de archivo, ningún nombre de usuario, ningún nombre de equipo ni ninguna ubicación. Los informes se guardan en el propio servidor de este sitio, detrás del mismo panel de control protegido con contraseña que todo lo demás, y se conservan durante 90 días desde la última vez que se vio el error y después se borran — los mismos tres meses durante los que se conservan los informes de uso. El primer informe de cada error se guarda completo, junto con un informe más por cada compilación en la que el error sobrevive, hasta tres; cualquier otro informe de ese mismo error se cuenta en lugar de guardarse. Una prueba automatizada vincula a la tabla de arriba tanto lo que acepta el punto de recepción como lo que escribe en disco, en ambos sentidos, así que no se puede añadir un campo a ninguno de los dos sin que esta tabla cambie también.

Nunca se envía un volcado de memoria completo, con ninguna configuración. Un volcado de memoria es una copia de la memoria del programa y puede contener nombres de archivo, títulos de ventana y datos de señal recibidos. Está desactivado por defecto; si lo activas en SISTEMA → Diagnóstico, se escribe un .dmp junto al informe de texto, solo en local, y el programa que sube los informes abre los archivos llamados crash-*.txt y hang-*.txt y nada más.

Con qué frecuencia. Como máximo cinco informes al día desde un mismo equipo, y el mismo error solo una vez al día por muchas veces que ocurra — los dos límites se guardan en tu propio archivo de configuración, así que un equipo en un bucle de fallos deja de enviar por sí solo en lugar de que se lo tengan que decir, y un informe que no se consigue enviar se reintenta en arranques posteriores como máximo tres veces y después se deja en paz. Convertir un desplazamiento de un informe en el nombre de una función requiere la base de datos de depuración de esa compilación exacta, que se queda en nuestros propios equipos y nunca se sube a ningún sitio: la resolución se hace en local, no en el servidor.

Lo que la aplicación nunca envía

  • Las frecuencias que sintonizas. Lo que alguien escucha es lo más sensible que sabe este software, y nunca se recoge. En el Reino Unido, interceptar un mensaje que no estás autorizado a recibir, o revelar su contenido, es un delito según el artículo 48 de la Wireless Telegraphy Act 2006.
  • Los nombres o las rutas de los archivos que abres. El nombre de archivo de una grabación es un dato tuyo — puede nombrar un servicio, un lugar o una frecuencia. Cuando un archivo I/Q no se puede volver a abrir, el registro anota que no se reabrió; el nombre se queda en pantalla, donde ya lo conoces.
  • Nada decodificado — mensajes de buscapersonas, aeronaves, buques, imágenes, tráfico de satélites.
  • Tu posición, ni la posición de nada que recibas — incluida la posición del receptor que fijas, que nunca se transmite en ningún informe. Consulta más abajo.
  • Tu dirección IP, ni ninguna ubicación derivada de ella. Una petición llega necesariamente a un servidor desde una dirección, porque así funciona internet; el punto de recepción de uso no lee ninguna información de la conexión y no escribe ningún registro de peticiones.
  • Los números de serie del hardware. El modelo de radio es útil; el número de serie identifica tu radio concreta, y se elimina antes del envío.
  • Tu nombre, el nombre de tu equipo, tu cuenta de usuario ni ninguna ruta de archivo.
  • Un volcado de memoria completo.

La posición del receptor y el GPS

FoxSDR necesita saber dónde está el receptor, porque cada alcance y cada acimut del mapa y de la pantalla de radar se miden desde él. Puedes escribirla, hacer clic en el mapa o leerla de un receptor GPS en un puerto serie.

La posición se queda en tu equipo. Se guarda en tu propio archivo de configuración y nunca se transmite — ni en el informe de uso, ni en el latido, ni en un informe de fallo, ni en ningún otro sitio. Leerla de un GPS es algo que inicias tú: indicas el puerto y pulsas “Leer posición del GPS”. El puerto se mantiene abierto solo hasta que llega el primer fix, y como máximo 60 segundos. El registro de diagnóstico anota el nombre del puerto, la velocidad en baudios, el número de sentencias y de satélites y cualquier error — nunca la posición, y nunca el texto de una sentencia NMEA. Si el campo del puerto contiene algo que no tiene forma de puerto, se registra solo su tipo y su longitud (“a typed device path, 27 chars”), para que una ruta de archivo con tu nombre de usuario no pueda colarse en un informe. Dos pruebas automatizadas lo garantizan: una contra el búfer circular del registro y otra contra el archivo de registro que escribió la aplicación real.

El catálogo de plugins

El catálogo se consulta cuando abres la ventana de la tienda de plugins (la primera vez en cada sesión, desde FoxSDR 0.99.16), cada vez que pulsas COMPROBAR AHORA en ella y cuando decides instalar algo. No se descarga nada al arrancar, la ventana no se vuelve a abrir sola y ningún plugin se actualiza solo. El catálogo es un archivo publicado en GitHub (raw.githubusercontent.com), así que esa petición llega a los servidores de GitHub, que — como en cualquier petición web — ven la dirección de la que procede. No se envía con ella ningún identificador tuyo: ni id de instalación, ni cookie, ni nada que pueda vincularse a un informe de uso. Cada descarga va por HTTPS, tiene un tamaño máximo, se rechaza si hay una redirección a otro host y se verifica contra el sha256 publicado en el catálogo antes de permitir que se convierta en un archivo. La fuente es una opción de configuración: puedes apuntarla a otro catálogo, o a un index.json en tu propio disco, en cuyo caso no se hace ninguna petición de red.

Conjuntos de elementos de satélites

El plugin de satélites mantiene al día sus conjuntos de elementos orbitales descargándolos de las fuentes indicadas en su satellite.cfg, cada doce horas mientras está cargado. Este sitio guarda una copia de esos conjuntos de elementos en GET /tle/all.tle — los grupos stations, amateur y weather de CelesTrak más NOAA 15, 18 y 19, actualizados aquí cada doce horas — y Satélites 1.0.4 y posteriores recurren a este archivo por sí solos cuando fallan todas las fuentes de satellite.cfg, para que un equipo al que CelesTrak rechaza pueda seguir rastreándolos. No hace falta que el archivo nombre este sitio para que eso ocurra; una línea que diga fallback-url none en él desactiva ese recurso, y refresh-hours 0 desactiva todas las descargas. La petición no lleva ningún identificador, ni id de instalación, ni cookie, y este servidor no escribe ningún registro de analítica para ella — como con la comprobación de actualizaciones, solo se registran las visitas a páginas y las descargas de archivos, y la réplica no es ninguna de las dos cosas. Los conjuntos de elementos en sí son de CelesTrak (celestrak.org) y cada respuesta lo indica.

Consultas del registro de aeronaves

El plugin opcional Aircraft Info muestra quién es cada aeronave del mapa — su matrícula, tipo y operador. La aplicación nunca hace esta petición; es instalar ese plugin lo que la habilita. Desde la versión 1.1.0, el plugin pregunta primero a este sitio, en GET /api/aircraft/<address>, y envía solo la dirección ICAO de seis dígitos hexadecimales de la aeronave — el número que emite la propia aeronave — sin identificador, sin id de instalación y sin cookie. Por cada aeronave se pregunta una sola vez y la respuesta se guarda en tu propio equipo, así que no se vuelve a preguntar. Solo cuando este sitio no conoce una aeronave, o no se puede contactar, el plugin pregunta a api.adsbdb.com, un servicio gratuito de terceros, como hacían siempre las versiones anteriores. El conjunto de aeronaves que oye un receptor es una indicación aproximada de dónde está, y por eso el plugin es opcional y lo advierte antes de que lo instales.

Lo que este servidor guarda sobre una consulta: nada por petición. No se escribe ningún registro de analítica, y no se registra ni la dirección de la aeronave ni la dirección de la que procede la petición. El único registro son cinco totales acumulados desde el último arranque del servidor — consultas, encontradas, no encontradas, mal formadas y limitadas por frecuencia — que muestra el panel de control. Para impedir que alguien copie la tabla entera, cada dirección que se conecta tiene un cupo de consultas guardado en memoria, exactamente como en los demás puntos de este sitio, y nunca escrito en disco; se olvida cuando el servidor se reinicia o cuando se están siguiendo más de diez mil direcciones, lo que ocurra primero.

Las respuestas proceden de la base de datos de aeronaves de OpenSky Network (opensky-network.org): para cada aeronave, su matrícula, designador de tipo, fabricante, modelo y, cuando consta, su operador. OpenSky ofrece esa base de datos tal cual y pide a sus usuarios que la citen: Matthias Schäfer, Martin Strohmeier, Vincent Lenders, Ivan Martinovic y Matthias Wilhelm, “Bringing Up OpenSky: A Large-scale ADS-B Sensor Network for Research”, en Proceedings of the 13th IEEE/ACM International Symposium on Information Processing in Sensor Networks (IPSN), abril de 2014. El propietario registrado que consta allí no se copia a este sitio ni se sirve desde él, porque en una aeronave privada es el nombre de una persona; solo el operador, que es una aerolínea, una fuerza aérea o una empresa, lo está.

La interfaz en el navegador

FoxSDR puede servir su interfaz por HTTP a otros equipos de tu propia red. Está desactivada por defecto y limitada a tu propio equipo hasta que lo cambies; hace falta una contraseña para cualquier enlace más allá de eso, y sin ella el enlace más amplio se rechaza en lugar de abrirse. Las contraseñas se guardan como hash (PBKDF2-HMAC-SHA256) y las sesiones se revocan cada vez que cambia la configuración. Deliberadamente no hay TLS, porque la aplicación no enlaza ninguna biblioteca criptográfica y no va a presumir de una seguridad de transporte que no puede ofrecer — pon delante un proxy inverso o un túnel privado, y nunca abras un reenvío de puertos directo hacia ella. Cualquiera a quien des acceso puede ver y controlar lo que hace el receptor.

Sugerencias de funciones enviadas desde la aplicación

La aplicación tiene un cuadro “Pedir una función”, en su página principal, donde puedes escribir lo que te gustaría que hiciera y pulsar Enviar. No se envía nada hasta que pulsas ese botón, nunca ocurre automáticamente, y una petición que no llega a nosotros no se pone en cola ni se reintenta en segundo plano — lo que escribiste se queda en el cuadro, solo en memoria, para que vuelvas a pulsar Enviar, y nunca se escribe en el archivo de configuración ni en el registro. Esto es todo lo que lleva una petición:

EnviadoEjemploPor qué
Lo que escribistePlease add a squelch control to the FLEX decoderLa propia petición: de 10 a 100000 caracteres. Los caracteres de control se eliminan antes de guardarla; los saltos de línea se conservan.
Contacto, si diste uno[email protected] o un indicativoOpcional, hasta 120 caracteres, para que podamos hacerte alguna pregunta de seguimiento. Déjalo en blanco y la petición no llevará nada que pueda identificarte.
Versión de la aplicación0.99.39De qué compilación procede la petición.
Sistema operativowindows, linux o androidQué plataforma la envió.
Arquitecturax64 o arm64Como arriba.
Número de esquema1La versión del contrato de transmisión, para que un cambio futuro del formato no pueda confundirse con uno de los campos anteriores.

Va a POST /api/feature-request en este sitio web. Tu dirección IP se usa solo para mantener la frecuencia de envío en un nivel razonable, y nunca se escribe en disco — el registro que se guarda realmente es tu mensaje, tu dirección de contacto si diste una, la versión de la aplicación, la plataforma, la arquitectura y tu país aproximado cuando nuestra consulta puede deducirlo de la conexión, y nada más. Lo lee el responsable del proyecto en el panel de administración, detrás de la misma contraseña que todo lo demás aquí, y se conserva hasta que se borra de ese panel, o hasta que lo pidas. Una petición ya atendida — añadida a FoxSDR, o respondida de otra forma — puede archivarse allí en lugar de borrarse, para que el proyecto pueda llevar la cuenta de lo que se pidió y de lo que se construyó; una petición archivada se sigue conservando, con todo lo indicado arriba. Si diste una dirección de contacto y quieres que se borre la petición, escribe a la dirección de abajo y cita lo suficiente de lo que enviaste para poder encontrarla.

Informes de errores y quejas enviados desde la aplicación

Justo debajo de “Pedir una función”, la aplicación tiene un cuadro “Informar error / queja”, donde indicas que algo no funciona o que hay algo que no te gusta, y pulsas Enviar. Funciona exactamente igual que el cuadro de sugerencias: no se envía nada hasta que pulsas ese botón, nada se pone en cola ni se reintenta en segundo plano, y lo que escribiste se queda solo en memoria — nunca en el archivo de configuración, nunca en el registro. No es un informe de fallo y no lleva nada de lo que lleva un informe de fallo. Esto es todo lo que lleva un informe:

EnviadoEjemploPor qué
Si es un error o una quejabug o dislikeLa opción que elegiste en la parte superior del cuadro: algo que no funciona, o algo que funciona tal como está diseñado y que preferirías que no fuera así.
Lo que escribisteThe waterfall freezes when I change the sample rateEl propio informe: de 10 a 100000 caracteres. Los caracteres de control se eliminan antes de guardarlo; los saltos de línea se conservan.
Contacto, si diste uno[email protected] o un indicativoOpcional, hasta 120 caracteres, para que podamos hacerte alguna pregunta de seguimiento. Déjalo en blanco y el informe no llevará nada que pueda identificarte.
Versión de la aplicación0.99.39De qué compilación procede el informe, para no volver a perseguir un error ya corregido.
Sistema operativowindows, linux o androidQué plataforma la envió.
Arquitecturax64 o arm64Como arriba.
Número de esquema1La versión del contrato de transmisión, para que un cambio futuro del formato no pueda confundirse con uno de los campos anteriores.

Va a POST /api/problem-report en este sitio web. Tu dirección IP se usa solo para mantener la frecuencia de envío en un nivel razonable, y nunca se escribe en disco — el registro que se guarda realmente es si fue un error o una queja, tu mensaje, tu dirección de contacto si diste una, la versión de la aplicación, la plataforma, la arquitectura y tu país aproximado cuando nuestra consulta puede deducirlo de la conexión, y nada más. Lo lee el responsable del proyecto en el panel de administración, detrás de la misma contraseña que todo lo demás aquí, y un informe se conserva hasta que se borra de ese panel, o hasta que lo pidas. Un informe ya atendido — corregido en FoxSDR, o respondido de otra forma — puede archivarse allí en lugar de borrarse; un informe archivado se sigue conservando, con todo lo indicado arriba. Si diste una dirección de contacto y quieres que se borre el informe, escribe a la dirección de abajo y cita lo suficiente de lo que enviaste para poder encontrarlo.

El sitio web: qué se registra cuando lo visitas

Se escribe un registro por cada visita a una página y por cada descarga, aceptes o no las cookies. Es analítica propia: los datos se quedan en el servidor que sirve este sitio, no se comparten con ninguna red publicitaria y no hay ningún script de terceros en la página.

RegistradoDe dónde procedeRequiere consentimiento
Fecha y hora, página solicitada, método y protocolo HTTPLa peticiónNo
Tu dirección IP, y un hash con sal de ellaLa conexiónNo
Ubicación aproximada: país, región, ciudad, zona del código postal, zona horaria y las coordenadas de esa ciudad — no las tuyasDirección IP, consultada mediante ip-api.comNo
Tu red: proveedor de internet, organización, número de AS y si la dirección es de una VPN, un centro de datos o una red móvil conocidosLa misma consultaNo
Navegador y versión, sistema operativo y versión, tipo de dispositivo y si la petición parece de un botCabecera User-AgentNo
Qué página te trajo hasta aquí, y las etiquetas de campaña del enlace (utm_source y similares)Cabecera Referer y URLNo
Idiomas preferidosCabecera Accept-LanguageNo
Qué archivo descargaste, su versión, cuántos bytes se enviaron y si la transferencia terminóLa propia descargaNo
Tamaño de la pantalla y de la ventana, relación de píxeles, profundidad de colorTu navegador, a través del script de esta páginaSí
Número de núcleos de CPU y memoria aproximada del dispositivoEl mismo scriptSí
Zona horaria, lista de idiomas, preferencia de modo oscuro, soporte táctil, plataformaEl mismo scriptSí
Tipo de conexión, velocidad de descarga estimada y tiempo de ida y vueltaEl mismo scriptSí
Cuánto tiempo estuvo visible la página, cuánto te desplazaste, cuántos clics hiciste y qué botones pulsasteEl mismo scriptSí

Lo que no se hace, deliberadamente

  • Nada de huella digital del navegador: nada de sondeo de canvas, audio, fuentes ni WebGL, y nada que intente volver a identificarte después de que hayas rechazado.
  • Nada de rastreadores de terceros, píxeles publicitarios, widgets sociales ni servicios de analítica. Nada de esta página se carga desde otro dominio.
  • Ningún intento de leer tu portapapeles, tu batería, tu cámara, tu micrófono, tus contraseñas guardadas ni tu historial de navegación — nada de lo cual le incumbe a una página de descargas.
  • Tus datos no se venden, no se alquilan ni se comparten con nadie. La única petición saliente que hace el servidor sobre ti es la consulta de IP a ubicación descrita arriba.

Diseños de interfaz que publicas

Este sitio puede guardar un diseño de interfaz de FoxSDR — un paquete .foxui — que decidas publicar. No se envía nada hasta que pulsas Publish, y va a POST /api/gui/publish. Se guarda lo que contiene el paquete: el diseño en sí, el nombre, la versión y la descripción que escribiste, un nombre de autor si escribiste uno, el momento en que se publicó y un identificador aleatorio. Tu dirección IP se usa solo para mantener el ritmo de publicación dentro de lo razonable, y nunca se escribe en disco. Un paquete publicado no aparece en ninguna lista; cualquiera que tenga su enlace puede descargarlo. Se guarda hasta que se borra desde el panel de administración, o hasta que lo pidas — escribe a la dirección de abajo e indica su enlace.

Si te inscribes como tester de la beta

El formulario de la beta y la suscripción a las noticias son los únicos lugares en los que este sitio te pide algo, aparte de la publicación de un diseño de interfaz (véase más arriba). Al enviarlo se guarda tu dirección de correo electrónico y lo que hayas decidido dar de entre esto: un nombre o indicativo, tu plataforma, la radio que piensas usar, tus notas y la lista de funciones que te ofreciste a probar. Junto a ello guardamos el mismo contexto de la visita descrito arriba — ubicación aproximada, red, navegador y sistema operativo — porque un informe de error se lee de forma muy distinta según la configuración de la que procede.

  • La dirección se usa para una sola cosa: contactarte sobre las versiones beta y sobre qué probar. Ni boletines, ni marketing, y nunca se cede a nadie.
  • No pasa nada hasta que confirmas. Al inscribirte se envía un correo con un código de seis dígitos, que escribes en la página para confirmar que la dirección es tuya. El código vale durante 30 minutos y se rechaza tras cinco intentos fallidos. Hasta que se introduce, la inscripción queda inactiva: no estás en la lista de testers, no se te cuenta y nunca se envía nada más. Si otra persona escribió tu dirección, ignora ese correo y la inscripción nunca llegará a ser real — no hay nada de lo que darse de baja ni tienes que hacer nada. Ese único mensaje es el único correo automático que puede generar una inscripción.
  • Si nos escribiste, puede que te invitemos. Alguien que nos haya escrito y dejado una dirección — a través del cuadro de sugerencias de la aplicación, por ejemplo — puede recibir de nosotros una única invitación personal, con un enlace de un solo uso que abre la tecla Confirmar de este sitio. Esa invitación se guarda como una inscripción pendiente, exactamente igual que una inscripción sin confirmar: no eres tester ni se te cuenta a menos que pulses Confirmar, y si la ignoras no volvemos a escribirte. Una inscripción pendiente no caduca por sí sola; se borra cuando la quitamos de la lista o cuando lo pides, con un correo a la dirección de abajo.
  • Después de confirmar recibes tu enlace privado de gestión, y te escribimos cuando sale una versión que necesita lo que te ofreciste a probar. Es una persona la que te escribe, no una lista de correo. Si pierdes el enlace, podemos darte uno nuevo: el antiguo deja de funcionar al instante, el nuevo te llega por correo, y guardamos cuándo se hizo y si el correo se envió.
  • Ese correo pasa por Apple. El correo de foxsdr.com lo transporta el servicio iCloud Mail de Apple, así que tu dirección y el mensaje pasan por sus servidores de camino hacia ti, según sus condiciones como nuestro proveedor de correo. No se les envía nada más sobre ti.
  • Se mantiene separado de la analítica. Las inscripciones están en su propio archivo, legible solo por la cuenta que ejecuta el servidor; el registro de analítica anota que se produjo una inscripción y cuántas funciones se eligieron, nunca quién. Una prueba automatizada hace fallar la compilación si alguna vez una dirección llega al registro de analítica.
  • Inscribirte de nuevo con una dirección que ya está en la lista no cambia esa inscripción. Los cambios se hacen desde tu propia página de probador. En su lugar, se envía un correo a esa dirección: su enlace privado si ya está confirmada, o un código nuevo si no, y nunca más de una vez cada 15 minutos.
  • Guardamos una copia de lo que te enviamos. Cada mensaje que este sitio envía a un tester — la confirmación y cada mensaje sobre una versión — se guarda con su texto, para que podamos ver qué se dijo y si llegó. La copia se archiva con tu id interno, no con tu dirección, y sus partes personales (el código o enlace de confirmación y tu propio enlace de gestión) se eliminan antes de guardarla, así que un mensaje guardado nunca puede usarse para actuar en tu nombre. Estas copias se borran junto con el resto de tu inscripción cuando te vas.
  • Guardamos los mensajes entre tú y nosotros. El cuadro Mensajes de tu portal de tester es una conversación con la persona que desarrolla FoxSDR: lo que te escribimos y lo que respondes, cada mensaje con la hora en que se escribió y, si elegiste uno, el informe al que se refiere. Se archiva con tu identificador interno, no con tu dirección, y solo tú (con tu enlace privado) y nosotros podemos leerla. También anotamos cuándo has tenido nuestros mensajes en pantalla, para saber que te han llegado. Mientras tu página está abierta, pide mensajes nuevos cada pocos segundos, así que aparecen en cuanto se escriben, e indica cuánto hace que la usaste por última vez; mientras sigue pidiéndolos, y medio minuto después, y solo si la has usado en los últimos cinco minutos, el servidor sabe que estás ahí. Eso solo se guarda en su memoria y nunca se escribe en ningún sitio. No te enviamos un correo por cada mensaje: cuando escribimos mientras no estás, recibes un único correo breve que dice que te espera un mensaje, con tu enlace y sin el mensaje en sí. Mientras ese mensaje siga sin leer no llega otro correo así durante hasta 12 horas, ni dentro de la media hora siguiente al último; y si estabas en la página cuando escribimos pero diez minutos después aún no has visto el mensaje, el correo sale entonces. Se guarda una copia de ese correo como se describe más arriba; cuando escribes tú, no se envía ningún correo. La conversación se guarda hasta que te des de baja o nos pidas que la borremos, y darte de baja la borra por completo.
  • Se conserva hasta que termine el programa beta, o hasta que lo pidas. Un correo a la dirección de abajo te da de baja y borra la inscripción — no tienes que dar ningún motivo.
  • La base jurídica aquí es tu consentimiento, otorgado al marcar la casilla; el formulario no se envía sin él.

Si te suscribes a las noticias por correo electrónico

La página de noticias pide una sola cosa: tu dirección de correo electrónico. Se guarda para poder escribirte cuando haya una versión nueva de FoxSDR y, de vez en cuando, sobre lo que se está construyendo. No se usa para nada más y nunca se cede a nadie.

  • No pasa nada hasta que confirmas. Al suscribirte se envía un correo con un código de seis dígitos que tienes que escribir en la página. Hasta que se introduce no se envía nada más, y una dirección que no se ha confirmado en una semana se borra - mediante código que se ejecuta en el servidor todos los días. Si otra persona escribió tu dirección, ignora ese correo.
  • Cada correo lleva un enlace que te quita de la lista con una sola pulsación. Al darte de baja se borra la dirección del archivo del servidor, junto con las copias que guardamos de lo que se le envió; no se conserva nada de ella.
  • Es una lista aparte. Un suscriptor de las noticias no es un tester de la beta: la dirección se guarda en un archivo separado, legible solo por la cuenta que ejecuta el servidor, y no se cuenta ni se muestra como tester. Si además eres tester, recibes cada mensaje una sola vez.
  • Guardamos una copia de lo que te enviamos, archivada con un id interno en lugar de con tu dirección, sin el código de confirmación ni el enlace para darte de baja, exactamente igual que para los testers.
  • Ese correo pasa por Apple, tal como se describe más arriba para los testers.
  • El registro de analítica anota que se produjo una suscripción, nunca quién.
  • La base jurídica es tu consentimiento, otorgado al marcar la casilla; el formulario no se envía sin él.

Cookies

CookieFinalidadDuración
fox_consentRecuerda si aceptaste o rechazaste, para que solo se te pregunte una vez1 año (si aceptas) / 6 meses (si rechazas)
fox_vidUn identificador aleatorio para que una visita de vuelta se reconozca como el mismo navegador. Solo se guarda si aceptas.400 días
fox_sidAgrupa una misma visita en una sesión. Solo se guarda si aceptas.30 minutos de inactividad
fox_betaGuarda tu enlace de tester de la beta para que puedas volver a tu propia inscripción. Solo se guarda si te inscribes como tester, y solo porque es lo que pediste — no mide nada, así que no forma parte de la elección de analítica de arriba. Al darte de baja se borra.400 días
foxsdr_langRecuerda el idioma que elegiste para este sitio, para que la siguiente página también esté en él. Solo se guarda cuando eliges tú un idioma — con el selector de idioma o con un enlace que lleve ?lang= — y no contiene más que el código de ese idioma, como es. No mide nada, así que no forma parte de la elección de analítica de arriba.1 año
fox_news_joinedNo es una cookie: un indicador en el propio almacenamiento de tu navegador, que nunca se nos envía. Después de una descarga, el sitio te pregunta si quieres recibir las noticias por correo electrónico; una vez que te has suscrito y confirmado desde este navegador, deja de preguntar. No contiene más que 1, y solo si te suscribiste.Hasta que borres los datos de este sitio

Si rechazas, no se guarda ninguna cookie identificativa. Entonces las visitas se agrupan mediante un hash de tu dirección y tu navegador que cambia cada día, que distingue a los visitantes a efectos de recuento y no sirve para seguirte de un día a otro ni entre sitios. Puedes cambiar de opinión borrando las cookies de este sitio y recargando la página.

Qué idioma ves

Las páginas se pueden mostrar en otros idiomas además del inglés. El que recibes se decide en el servidor para cada página que pides, en este orden: un idioma que hayas elegido tú (la cookie foxsdr_lang de arriba, o ?lang= en el enlace); si no, los idiomas que tu navegador dice preferir, según su cabecera Accept-Language; si no, el idioma principal del país del que procede tu conexión, que Cloudflare, la red que está delante de este sitio, transmite con la petición como un código de país de dos letras (CF-IPCountry); si no, el inglés. No se guarda nada para hacer esa elección: la cabecera y el código de país se leen para esa respuesta y no se conservan para ello. Son las mismas dos cosas que la tabla de arriba ya indica que se registran con cada visita a una página, donde el código de país se usa cuando nuestra propia consulta de direcciones no tiene respuesta. Las traducciones están hechas por máquina, y en este aviso y en las licencias el texto en inglés es el que vincula.

Por qué, y con qué base

La finalidad es limitada: saber cuánta gente encuentra este proyecto, más o menos dónde está, en qué lo ejecuta y cuántos llegan a descargarlo. Eso es lo que decide si el trabajo continúa y qué se construye a continuación.

Los registros del lado del servidor se guardan sobre la base del interés legítimo en entender y proteger el sitio. Los detalles que informa el navegador y las cookies identificativas se guardan sobre la base de tu consentimiento, y por eso están detrás del aviso y por eso rechazar no te cuesta nada en este sitio.

Cuánto tiempo se conserva, y quién lo ve

Los registros se conservan durante 24 meses y después se borran. Están en un archivo del servidor, detrás de un panel de control protegido con contraseña que solo puede abrir el responsable del proyecto. No hay otros destinatarios ni ninguna transferencia a un tercer país aparte de la consulta de IP ya descrita.

Dos cosas se conservan menos tiempo. Los informes de fallos y bloqueos se borran 90 días después de la última vez que se vio el error que describen, y los informes de uso que procesa Cloudflare se borran al cabo de tres meses. Cada uno de esos plazos lo aplica código que se ejecuta en el servidor todos los días, no alguien que se acuerde de hacerlo.

Tus derechos

Si estás en el Reino Unido o en la UE, puedes pedir una copia de lo que se guarda sobre ti, pedir que se corrija o se borre, u oponerte a que se recoja en absoluto — incluidos los registros del lado del servidor que no dependen del consentimiento. El identificador práctico para encontrar tus registros es la dirección IP que tenías cuando visitaste el sitio, así que inclúyela, junto con cuándo lo visitaste aproximadamente.

En el caso de la aplicación, los controles están en el propio software, y son tres:

  • SISTEMA → Informes de uso detiene el informe de uso y el latido de cada cinco minutos, y borra el identificador de instalación. Si vuelves a activarlo más adelante, obtienes un identificador nuevo que no se puede vincular con el anterior.
  • SISTEMA → Diagnóstico impide que se escriban o se envíen informes de fallos y bloqueos.
  • SISTEMA → Actualizaciones detiene la comprobación de actualizaciones.

Los informes no contienen nada que pueda relacionarse contigo, así que no hay nada a lo que solicitar acceso; si quieres que se elimine un identificador de instalación de los informes ya enviados, escribe a la dirección de abajo indicándolo y se borrará.

Menores. FoxSDR es un instrumento técnico para aficionados a la radio. No está dirigido a menores, no recoge información personal de nadie y, por tanto, no recoge ninguna de menores.

Escribe a [email protected]. También puedes presentar una reclamación ante la Information Commissioner's Office (ico.org.uk) si crees que esto se ha gestionado mal.

Última actualización: 24 de septiembre de 2026, con FoxSDR 0.99.39 — la compilación que ofrece actualmente este sitio, y aquella con cuyo código fuente se ha comprobado cada afirmación anterior. FoxSDR lo publica Steven Fox; escribe a la dirección de arriba para cualquier pregunta sobre este aviso o para que se borre un identificador de instalación de los informes ya enviados. Si alguna vez este aviso deja de coincidir con lo que hace el software, el que está mal es el software — la recogida de datos del sitio web está implementada en store.go y app.js, ambos legibles en el propio código fuente del sitio, y la lista de la aplicación se distribuye con ella como PRIVACY.md, con una prueba que vincula el contenido enviado a esa lista.