17 votos

Ayuda para entender los permisos de Whatsapp

Whatsapp me ha estado molestando durante los últimos días diciéndome que tengo que actualizarlo para seguir usándolo. Con la adquisición de Facebook y el hecho de que la Play Store ya no marca por separado los permisos que son "NUEVOS", estoy en una encrucijada entre actualizar o desinstalar; espero que más información sobre los permisos me ayude.

En primer lugar, ¿alguien sabe qué permisos se agregaron después de la adquisición de Facebook?
Y entre los permisos listados, ¿qué permite hacer "encontrar cuentas en este dispositivo"? ¿Permite el permiso "recibir mensajes de texto" que la aplicación lea mensajes SMS existentes o nuevos? Y como una curiosidad menor, ¿por qué necesitaría la lista de "recuperar aplicaciones en ejecución"?

Aquí está la lista de permisos de la Play Store:

Esta aplicación tiene acceso a:

Compras en la aplicación

Historial de dispositivo y de la aplicación

  • recuperar aplicaciones en ejecución

Identidad

  • encontrar cuentas en el dispositivo
  • añadir o eliminar cuentas
  • leer la tarjeta de contacto propia

Contactos/Calendario

  • ver tus contactos
  • modificar tus contactos

Ubicación

  • ubicación aproximada (mediante red)
  • ubicación precisa (GPS y mediante red)

SMS

  • recibir mensajes de texto (SMS)
  • enviar mensajes SMS

Teléfono

  • llamar directamente a números de teléfono

Fotos/Media/Archivos

  • modificar o eliminar el contenido de almacenamiento USB
  • probar acceso al almacenamiento protegido

Cámara/Micrófono

  • grabar audio
  • tomar fotos y vídeos

Información de conexión Wi-Fi

  • ver conexiones Wi-Fi

ID del dispositivo e información de llamadas

  • leer estado del teléfono e identidad

Otro

  • recibir datos de Internet
  • leer estadísticas de sincronización
  • evitar que el dispositivo se duerma
  • acceso completo a la red
  • controlar la vibración
  • ejecutar al iniciar
  • ver conexiones de red
  • conectar y desconectar desde Wi-Fi
  • usar cuentas en el dispositivo
  • crear cuentas y establecer contraseñas
  • modificar configuraciones del sistema
  • leer configuraciones de sincronización
  • activar/desactivar la sincronización
  • instalar accesos directos
  • desinstalar accesos directos
  • leer la configuración del servicio de Google
  • cambiar la configuración de audio

0 votos

Una nueva permiso que aparece en las versiones actuales de whatsapp es android.permission.NFC - sería interesante saber por qué lo necesitan.

16voto

Gudmundur Orn Puntos 853

Yo también había enviado esta pregunta como correo electrónico al servicio de asistencia de WhatsApp, y ahora he recibido una respuesta de ellos con explicaciones completas sobre los permisos. Pego la respuesta a continuación:


Gracias por su mensaje. Nos esforzamos por mantener esta información lo más actualizada y precisa posible.
Sin embargo, en ocasiones, es posible que Google o el fabricante de tu terminal cambien, desaprobien o eliminen varios permisos.

Categoría: Tus mensajes

Permiso : Recibir mensajes de texto (Android.permission.RECEIVE_SMS)
Explicación : Lo utilizamos para poder leer los SMS que enviamos a su teléfono para verificar su número de teléfono.

Categoría: Almacenamiento

Permiso : Modificar o borrar el contenido de tu almacenamiento USB (Android.permission.WRITE_EXTERNAL_STORAGE)
Explicación : Guardamos tus copias de seguridad multimedia y del historial de chat en el almacenamiento USB.

Categoría: Herramientas del sistema

Permiso : Modificar la configuración del sistema (Android.permission.WRITE_SETTINGS)
Explicación : Necesitamos esto para leer su configuración, no escribimos ninguna configuración, pero sólo hay un permiso de configuración de escritura que incluye la capacidad de leer la configuración.
Permiso : instalar accesos directos (com.Android.launcher.permission.INSTALL_SHORTCUT)
Explicación : Se utiliza para instalar un acceso directo de WhatsApp o de conversación en la pantalla de inicio.
Permiso : desinstalar accesos directos (com.Android.launcher.permission.UNINSTALL_SHORTCUT)
Explicación : Lo utilizamos para asegurarnos de no crear accesos directos duplicados en tu pantalla de inicio.

Categoría: Su ubicación

Permiso : ubicación aproximada (basada en la red) (Android.permission.ACCESS_COARSE_LOCATION)
Explicación : Lo utilizamos para que puedas enviar tu ubicación a tus amigos.
Permiso : localización precisa (GPS) (Android.permission.ACCESS_FINE_LOCATION)
Explicación : Lo utilizamos para que puedas enviar tu ubicación a tus amigos.

Categoría: Servicios que le cuestan dinero

Permiso : llamar directamente a números de teléfono (Android.permission.CALL_PHONE)
Explicación : Necesitamos esto para que podamos tener la capacidad de "Llamar" en la aplicación.
Permiso : enviar mensajes SMS (Android.permission.SEND_SMS)
Explicación : Puede enviar un SMS utilizando nuestra función "Díselo a un amigo" para informar a un amigo sobre WhatsApp.

Categoría: Cámara

Permiso : Hacer fotos o vídeos (Android.permission.CAMERA)
Explicación : Se utiliza para poder hacer fotos desde dentro de WhatsApp. Leer más aquí

Categoría: Micrófono

Permiso : grabar audio (Android.permission.RECORD_AUDIO)
Explicación : Se utiliza para que puedas grabar notas de voz y enviárselas a tus amigos.

Categoría: Sus cuentas

Permiso : Añadir o eliminar cuentas (Android.permission.MANAGE_ACCOUNTS)
Explicación : Lo usamos para añadir una cuenta de WhatsApp a tu dispositivo y mostrar tus contactos WhatsAppables.
Permiso : crear cuentas y establecer contraseñas (Android.permission.AUTHENTICATE_ACCOUNTS)
Explicación : Lo utilizamos para añadir una cuenta de WhatsApp a tu dispositivo.
Permiso : utilizar cuentas en el dispositivo (Android.permission.USE_CREDENTIALS)
Explicación : Necesitamos este permiso para leer y escribir tus credenciales de WhatsApp.
Permiso : encontrar cuentas en el dispositivo (Android.permission.GET_ACCOUNTS)
Explicación : Esto es necesario para encontrar qué cuentas para comprobar los contactos de WhatsApp.
Permiso : leer la configuración de los servicios de Google (Android.providers.gsf.permission.READ_GSERVICES)
Explicación : Se utiliza para la integración de Google Maps en el uso compartido de la ubicación de WhatsApp.

Categoría: Su información social

Permiso : modificar tus contactos (Android.permission.WRITE_CONTACTS)
Explicación : Esto es necesario para que podamos añadir el botón de WhatsApp en sus contactos para que pueda enviar un WhatsApp a tus amigos desde cualquier lugar de su teléfono.
Permiso : leer tus contactos (Android.permission.READ_CONTACTS)
Explicación : Se utiliza para añadir automáticamente a todos tus amigos que tengan WhatsApp instalado en sus teléfonos.

Categoría: Sus datos personales

Permiso : leer su propia tarjeta de contacto (Android.permission.READ_PROFILE)
Explicación : Lo utilizamos para intentar establecer un nombre de perfil por defecto.
Permiso : leer registro de llamadas (Android.permission.READ_CALL_LOG)
Explicación : Este permiso no es necesario pero se concede transitoriamente desde READ_CONTACTS porque soportamos versiones antiguas de Android.
Permiso : escribir registro de llamadas (Android.permission.WRITE_CALL_LOG)
Explicación : Este permiso no es necesario pero se concede transitoriamente desde WRITE_CONTACTS porque soportamos versiones antiguas de Android.

Categoría: Llamadas telefónicas

Permiso : leer el estado y la identidad del teléfono (Android.permission.READ_PHONE_STATE)
Explicación : Lo necesitamos para no molestarle cuando esté al teléfono.

Categoría: Información sobre sus solicitudes

Permiso : ejecutar al inicio (Android.permission.RECEIVE_BOOT_COMPLETED)
Explicación : Lo utilizamos para asegurarnos de que la aplicación está funcionando y de que recibes tus mensajes a tiempo. Permiso : recuperar aplicaciones en ejecución (Android.permission.GET_TASKS)
Explicación : Lo necesitamos para ver si está ejecutando algún Task Killer que pueda causar problemas con nuestra aplicación.

Categoría: Ajustes de sincronización

Permiso : leer ajustes de sincronización (Android.permission.READ_SYNC_SETTINGS)
Explicación : Lo utilizamos para asegurarnos de que recibe sus mensajes a tiempo.
Permiso : leer estadísticas de sincronización (Android.permission.READ_SYNC_STATS)
Explicación : Lo utilizamos para depurar posibles problemas en la recepción puntual de sus mensajes. Permiso : activar y desactivar la sincronización (Android.permission.WRITE_SYNC_SETTINGS)
Explicación : Lo utilizamos para asegurarnos de que tus contactos de WhatsApp están actualizados.

Categoría: Herramientas de desarrollo

Permiso : prueba de acceso al almacenamiento protegido (Android.permission.READ_EXTERNAL_STORAGE)
Explicación : Almacenamos los datos en la memoria externa. El permiso se concede de forma transitoria por Android.permission.WRITE_EXTERNAL_STORAGE. No tenemos ni idea de por qué Google describe el permiso de esta manera.

Categoría: Afecta a la batería

Permiso : controlar la vibración (Android.permission.VIBRATE)
Explicación para notificarle un nuevo mensaje, es posible que su teléfono vibre.
Permiso : impedir que el teléfono entre en reposo (Android.permission.WAKE_LOCK)
Explicación : Necesitamos esto para asegurarnos de que cuando un amigo te envíe un archivo, no se rompa porque tu teléfono se vaya a dormir.

Categoría: Comunicación en red

Permiso : acceso total a la red (Android.permission.INTERNET)
Explicación : Sin esto no podríamos enviar tus mensajes de chat.
Permiso : servicio de facturación de google play (com.Android.vending.BILLING)
Explicación : Lo utilizamos para que puedas pagar la suscripción a WhatsApp.
Permiso : recibir datos de internet (com.google.Android.c2dm.permission.RECEIVE)
Explicación : Lo utilizamos para asegurarnos de que recibe sus mensajes a tiempo.
Permiso : ver conexiones wifi (Android.permission.ACCESS_WIFI_STATE)
Explicación : Lo utilizamos para comprobar si estás en una red Wi-Fi en la que WhatsApp no funciona.
Permiso : ver conexiones de red (Android.permission.ACCESS_NETWORK_STATE)
Explicación : Lo utilizamos para diagnosticar tu conexión de red y hacer que la aplicación reaccione en consecuencia para asegurarnos de que recibes tus mensajes a tiempo.
Permiso : acceso total a la red (Android.permission.INTERNET)
Explicación : Lo necesitamos para abrir conexiones de socket a nuestros servidores para que el envío y recepción de mensajes sea rápido.

0 votos

¿Qué pasa con los registros de llamadas (en Android 10)?

3voto

Chipset Puntos 132

Los permisos de "Identidad" son para el sistema de notificaciones push, el cual está implementado utilizando Google Cloud Messaging en Android y requiere que haya una cuenta de Google válida en el dispositivo.

Los permisos de "SMS" y "Teléfono" son para la activación de la cuenta de WhatsApp cuando se instala por primera vez en un dispositivo, y para enviar una acción de llamada cuando se presiona el número de teléfono de un contacto de WhatsApp en particular.

Supongo que el permiso de "Historial de dispositivo y aplicación" debe ser para gestionar el uso de RAM por parte de WhatsApp en sí mismo. Esto puede variar de una versión de Android a otra.

Los demás permisos son más o menos autoexplicativos, pero si deseas más detalles sobre alguno de ellos, solo deja un comentario, y te lo explicaré.

Recomendaría que actualices tu aplicación de WhatsApp, ya que dejan de ofrecer soporte para versiones anteriores después de un tiempo.

Además, Android Police ha subido el APK de la última versión de Play Store que muestra de una forma mejor los permisos nuevos y antiguos.

WhatsApp mantiene una versión un poco más actualizada de su aplicación que la disponible en la Play Store aquí (por si estás interesado).

1voto

Izzy Puntos 45544

En primer lugar, para preguntas generales sobre lo que significa un permiso (y qué puede hacer una aplicación con él), puedes encontrar una buena visión general en mi sitio de Android. Me tomó bastante tiempo investigar y recopilar toda la información disponible, y aún así está incompleta; no puedo entender que no haya una fuente oficial para los usuarios finales.

Respecto a tus preguntas explícitas:

  • Sí, con RECEIVE_SMS una aplicación teóricamente podría "comerse" tus mensajes, es decir, llevárselos sin que te des cuenta de que te llegó alguno.
  • GET_ACCOUNTS es necesario para encontrar las cuentas con las que te has registrado desde tu dispositivo. La API lo hace obligatorio si quieres usar una cuenta (permiso USE_CREDENTIALS). Aunque parece bastante sospechoso si una aplicación solicita lo primero pero no lo segundo: ¿para qué necesitaría saber qué cuentas están disponibles si no quiere usar ninguna? Para más detalles, por favor también consulta ¿Qué puede hacer una aplicación con el permiso "USAR CUENTAS EN EL DISPOSITIVO"? Me sorprende que falte USE_CREDENTIALS en tu lista, ya que Whatsapp seguramente lo necesitará: también tiene el permiso MANAGE_ACCOUNTS (para crear/administrar tu cuenta de Whatsapp en tu dispositivo), lo que podría implicar el otro (no estoy seguro de eso debido a la falta de documentación).
  • El permiso GET_TASKS es otro que a menudo me hace levantar una ceja. Si bien está bastante claro por qué un administrador de procesos (o eliminador de tareas) necesitaría eso, no veo por qué Whatsapp debería estar interesado en eso. Lo cual no significa automáticamente que no haya tal razón; tendría sentido, por ejemplo, si una aplicación necesita verificar si una aplicación compañera está en ejecución, para algunas acciones compartidas (no soy desarrollador de Android, así que debo dejar esta parte a otra persona).

Lamento no continuar mis explicaciones para la lista completa de permisos que has publicado, pero eso se volvería bastante largo. ¡Siéntete bienvenido a visitar el primer enlace en mi respuesta para obtener más detalles por ti mismo. Y, por supuesto, si esto plantea preguntas específicas, ¡Android.SE es el lugar adecuado para hacerlas!

0 votos

> con RECEIVE_SMS, teóricamente una aplicación podría "comerse" tus mensajes |end quote| ¿Pero no podría leer el SMS y luego pasarlo a una aplicación de mensajería, verdad? ¿Es dejarlo tal cual o devorarlo, ¿no? Si es así, puedo vivir con eso.

0 votos

No estoy seguro de eso. Sí, hay un permiso separado READ_SMS. Pero vi aplicaciones solicitando solo RECEIVE_SMS. ¿Qué sentido tendría eso? Supongo que READ_SMS es para los mensajes ya guardados (los SMS "antiguos", por así decirlo). Si puedo "recibir" un elemento, tengo acceso total a él. No estoy seguro acerca de la parte de "pasar". Tal vez un desarrollador podría aclarar esto.

1 votos

@sundar Tomé esa parte de tu preocupación aquí: ¿Puede usarse el permiso RECEIVE_SMS para interceptar mensajes de texto SMS? Eres bienvenido a darle seguimiento (por ejemplo, marcarlo para ver cuándo alguien responda).

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X