Requisitos y recomendaciones de privacidad para el desarrollo de aplicaciones para el Programa Intel AppUp® para desarrolladores: Lo que deben saber los desarrolladores de aplicaciones

Exención de responsabilidad: Nada de lo especificado en este documento deberá interpretarse como asesoramiento legal.

Finalidad

La finalidad de este documento es que el desarrollador de aplicaciones ("usted") conozca la filosofía sobre la privacidad de Intel y lo fácil que es incluir los controles de privacidad y seguridad en sus esfuerzos de exploración, planificación y desarrollo. Su intención es definir brevemente los requisitos imprescindibles, así como describir recomendaciones basadas en los principios de buenas prácticas sobre información1 y ofrecer recursos bibliográficos adicionales en caso de que se desee obtener más información. Este documento le ayudará a prepararse para diseñar activamente su aplicación para que proteja y respete los intereses de privacidad de sus clientes.

Debe ser consciente de que el cumplimiento de los estándares y regulaciones internacionales sobre privacidad puede ser una tarea compleja y con algunos riesgos legales. Si el objetivo de la aplicación o de la empresa no requiere procesar información personal del usuario, lo mejor es no procesar este tipo de información.

1. Requisitos de privacidad para el Programa Intel AppUp® para desarrolladores

Estos requisitos deben satisfacerse al realizar el envío y en las actualizaciones posteriores de la aplicación para su distribución a través de la tienda. Es posible que las aplicaciones que no cumplan estos requisitos sean rechazadas o eliminadas de la tienda. Aunque quizá Intel no pueda validar estos requisitos en las aplicaciones enviadas, cualquier queja de un usuario relativa a un uso inapropiado de información personal puede considerarse motivo suficiente para eliminar una aplicación de la tienda.

1.1. Aviso para los usuarios: si su aplicación recopila cualquier tipo de información personal, es preciso notificar al usuario acerca de cuál es la información recopilada, por qué se realiza (finalidad) y si esta información será compartida con terceros.
1.1.1. Ejemplo de implementación: Proporcione una descripción breve de su política de privacidad con un enlace a la política o información más detallada.
1.1.2. La definición de lo que se considera información personal puede variar en cada país. Los desarrolladores deben utilizar una interpretación muy amplia de este término para incluir cualquier información que esté asociada directamente con una persona o pueda estarlo. Ejemplos de ello pueden ser, entre otros: Imágenes, ubicación, nombre, dirección, cumpleaños, sexo, actividades mientras se está conectado, respuestas a encuestas, etc.
1.2. Limitación de uso: la información personal solo puede utilizarse para la finalidad descrita en el aviso.
1.3. Aceptación explícita para transferir a terceros: si comparte con terceros información personal que ha recopilado, debe conseguir el permiso del usuario antes de poder transferir dicha información.
1.3.1. Ejemplo de implementación: Antes de solicitar al usuario su consentimiento, identifique al tercero, la información que se va a compartir y la finalidad de compartir esta información. No debe buscarse el consentimiento con una aprobación "general" para compartir la información con "cualquier" otra organización para "cualquier finalidad legal".
1.3.2. Ejemplo de implementación: En un contexto de medio social, los usuarios pueden tener un control activo sobre los terceros con los que desean compartir su información personal. En este caso, el usuario debe ser consciente de lo que los terceros pueden hacer con el acceso a esa información. (Es decir, ¿pueden descargar la información personal y utilizarla de cualquier manera que deseen, o solo pueden ver la información en línea?)
1.4. El almacenamiento y la transmisión de información personal deben realizarse de manera razonablemente segura.
1.4.1. Ejemplo de implementación: La transmisión de información debe llevarse a cabo con SSL u otro protocolo de seguridad similar.

1 Descripción general de la Federal Trade Commission de los principios de buenas prácticas sobre información

2. Directrices de privacidad para el Programa Intel AppUp® para desarrolladores

La privacidad debe ser un componente fundamental de los requisitos y el diseño de su aplicación. Los requisitos deben definirse para garantizar que la aplicación no solo cumplirá esas directrices de privacidad y seguridad, sino que también cumplirá cualquier requisito normativo de los países en los que esta aplicación estará disponible. Además, el proceso de revisión del código debe comprobar los estándares y las políticas de privacidad y seguridad.

Intel define la privacidad como el derecho que tiene toda persona a tener vida privada, a no ser molestado y a poder decidir cuándo se recopila, utiliza o revela su información personal. Cualquier información que pueda utilizarse para identificar, contactar o localizar a alguien se considera información personal (por ejemplo, nombre, dirección, número de teléfono, número de teléfono móvil, dirección de correo electrónico, número de la seguridad social, número de su documento oficial de identidad, etc.). Además, cualquier información vinculada a información personal, o que a partir de la cual puedan deducirse otros datos de información personal, también se considerará como tal.

Cuando envía una aplicación para su validación al Programa Intel AppUp® para desarrolladores, también tiene que declarar si va a procesar información personal de los usuarios finales. Si durante el proceso de validación se descubre que su notificación es incompleta o incorrecta, Intel puede decidir que no se publique su aplicación en la tienda. Intel no asume ninguna responsabilidad de que su aplicación cumpla las reglas y regulaciones de privacidad pertinentes aunque la aplicación haya pasado la validación.

Todos los desarrolladores tienen la función y la responsabilidad de entender los requisitos de cumplimiento de la privacidad y los riesgos asociados2. A continuación se muestra un resumen que destaca cuáles son las acciones de cumplimiento de la privacidad que se pueden emprender para mitigar determinados riesgos empresariales, legales y de consumo.

Requisitos de cumplimiento

  • Debe saber cuál es la información personal que procesa su aplicación, por qué, quién tiene acceso a ella y con quién la comparte (empresas subsidiarias, proveedores, etc.).
  • Debe manejar la información personal de acuerdo a los principios de buenas prácticas sobre información3 (aviso, elección, acceso, seguridad, finalidad, exactitud de los datos, minimización de los datos, retención de datos, transferencia de datos y redirección)
  • Debe proteger la información personal con controles de seguridad razonables
Riesgos

  • Daño a su reputación, marca o relaciones empresariales
  • Responsabilidad legal y sanciones regulatorias o del sector
  • Cargos por prácticas empresariales engañosas
  • Desconfianza de los clientes
  • Denegación del consentimiento por parte de personas de que su información personal sea utilizada con fines comerciales
  • Interrupción de operaciones comerciales internacionales
  • Cancelación por parte de Intel del acuerdo de distribución de aplicaciones

Algunos datos se consideran más sensibles que otros (por ejemplo, datos biométricos, información personal sobre menores, etc.) y pueden requerir esfuerzos de cumplimiento adicionales con reglas y regulaciones legales. Debe revisarlos con su asesor jurídico.

2 Definidos por AICPA.

3 Descripción general de la Federal Trade Commission de los principios de buenas prácticas sobre información.

3. Conceptos sobre privacidad en el desarrollo de aplicaciones

Si desarrolla una aplicación que recopila, comparte, almacena o transmite información personal, tendrá que cumplir las reglas y regulaciones internacionales sobre privacidad. Los conceptos descritos a continuación pueden proporcionar requisitos básicos específicos que deben estar incluidos en sus esfuerzos de desarrollo de la aplicación.

3.1 Finalidad
Antes de obtener cualquier información personal, debe definir claramente el motivo por el que necesita recopilarla. No puede utilizar información personal sin el consentimiento previo del usuario por ninguna razón distinta de la finalidad que se le especificó en el momento de recopilarla, incluidos todos los usos secundarios, como los fines de marketing directo.

Recomendaciones sobre cómo prepararse para formular la finalidad en su aplicación
  • Incluya documentación sobre los requisitos comerciales de la información personal.
  • Incluya un diagrama de flujo de datos como documentación
    • Una lista de la información personal que se va a recopilar, almacenar, compartir y transmitir
    • El método utilizado para proteger la información personal
    • Métodos de acceder a la información personal
    • La interfaz de usuario que puede utilizarse para controlar la captura, almacenamiento y transmisión de los datos
  • Incluya documentación sobre los usos considerados secundarios de la información personal por parte del desarrollador y de terceros y los requisitos posteriores de aviso
3.2 Aviso, elección y consentimiento
Debe proporcionar una explicación clara (Aviso) de sus prácticas de manejo de la información personal al realizar la recopilación. El aviso debe ser fácil de encontrar y de leer. Si la ley lo requiere, debe obtener un consentimiento explícito en sentido afirmativo4 del usuario antes de recopilar su información personal.

Recomendaciones sobre cómo incluir el aviso, la elección y el consentimiento en el desarrollo de su aplicación

  • Al instalar una aplicación o rellenar un formulario de registro, configure de forma predeterminada que no se recopile información personal.
  • Use botones de opción, casillas de verificación o selecciones de menú para notificar al usuario sus elecciones y requerir que realice su selección antes de continuar.
  • Si un usuario decide que no se recopile su información personal, debe permitirle participar como invitado si es posible.
  • Agregue un lugar conveniente en el menú en que los usuarios pueden volver a examinar sus prácticas de manejo de información personal (por ejemplo, incluya una opción sobre privacidad en el menú de ayuda o una nota sobre privacidad a pie de página en el sitio web).
  • Cuando transfiera información personal a terceros, tiene que informar al usuario. Si un usuario decide que no se transfiera su información personal a terceros, debe respetar su decisión.
  • Informe al usuario de cuánto tiempo conservará la información personal. No debe conservarla más tiempo del necesario para alcanzar sus objetivos empresariales (por ejemplo, no debería superar la finalización de un contrato de asistencia técnica) ni del exigido por la legislación correspondiente.

4 El consentimiento explícito significa que los usuarios deben realizar algún tipo de acción afirmativa para indicar su deseo de participar en un programa o servicio determinado, como rellenar una página de registro o enviar su dirección de correo electrónico para recibir un boletín.

3.3. Acceso y exactitud de la información personal
Debe proporcionar a los usuarios un acceso razonable a su información personal para que pueda cerciorarse de que su información personal es exacta y completa y está actualizada.

Recomendaciones sobre cómo desarrollar el acceso y la exactitud en su aplicación

  • Cree un perfil de usuario seguro que requiera una combinación única de identificador y contraseña para que el usuario mantenga su información personal.
  • Organice toda la información personal del usuario en una sola selección del menú o pestaña que muestre toda su información personal para que sea fácil revisarla y editarla.
  • Cuando un usuario actualice información personal de carácter confidencial como, por ejemplo, contraseñas o información personal de tipo económico, envíe un mensaje electrónico al usuario indicándole que su información personal de <insertar> se actualizó el <fecha y hora> por <dirección de correo electrónico o identificador exclusivo>

3.4. Minimización y retención de información personal
Debe recopilar y/o procesar solo la información personal necesaria para una finalidad determinada, sin conservar información personal por más tiempo del que sea necesario para satisfacer la finalidad para la que se recopiló.

Recomendaciones sobre cómo desarrollar la minimización y la retención en su aplicación

  • Si la información personal del usuario no es necesaria, no debe recopilarla. Implemente el uso de seudónimos5 o identificadores exclusivos cuando sea posible.
  • Examine la cantidad de datos requeridos. Busque oportunidades para que la recopilación de información personal sea opcional o innecesaria.
  • Toda la información personal recopilada debe estar asociada a una fecha de caducidad. Formalice el ciclo de vida de los datos desarrollando una política de retención de datos para todos los datos de la información personal e incluya sus prácticas en la declaración de privacidad.

5 Los seudónimos tienen características similares al anonimato en el sentido de que no puede identificarse el usuario, pero es posible realizar un seguimiento mediante un alias o personaje que haya adoptado.

3.5. Seguridad y transferencia de información personal
Debe tomar medidas razonables para proteger información personal de todo acceso no autorizado, uso, modificación, revelación o pérdida.
Recomendaciones sobre cómo desarrollar la seguridad en su aplicación



  • Al recopilar información personal en conexiones por cable, no transmita texto sin cifrar. Implemente técnicas de cifrado como https o SSL.
  • Proporcione al usuario un menú de opciones que recoja cómo desea que se revele su información. Permita que se pueda seleccionar a todos o nadie, o que el usuario genere sus propias personalizaciones.

4. Controles de seguridad para preservar la privacidad

Para garantizar la preservación de la privacidad individual y el cumplimiento de estándares de regulación adecuados, deben emplearse determinados controles de seguridad. Las siguientes vulnerabilidades son algunas de las que conducen a violaciones de la privacidad:

  • fallos de inyección,
  • referencia a objetos directa no segura,
  • filtración de información y manejo inadecuado de errores,
  • Autenticación y gestión de sesión interrumpidas, y
  • no restringir el acceso de URL.

Completar una revisión de código y/o una exploración de vulnerabilidades ayudará a localizar estas vulnerabilidades. Debe desarrollar los controles de seguridad necesarios para preservar la información personal del usuario y la información de inicio de sesión en la cuenta.

4.1. Validación de entrada
La validación de entrada es el proceso de verificar la entrada para asegurarse de que esté en el formato esperado. Ello implica comprobar la longitud de los datos, el tipo, la sintaxis y que las reglas empresariales sean correctas antes de visualizar o almacenar los datos. Esta medida se usa muy frecuentemente frente a ataques XSS (Cross-Site Scripting).
Recomendaciones sobre cómo realizar la validación de entrada



  • Hay diversas estrategias de validación de entrada, por ejemplo, la validación de lista blanca y lista negra. Es recomendable combinar ambas. Utilice una lista blanca para restringir la entrada a los datos correctos conocidos y validar el formato, la longitud y el tipo. A continuación, compruebe si hay entradas maliciosas conocidas mediante la validación de lista negra.
  • Canonicalización es el proceso de convertir datos a su formato más simple. Las aplicaciones web utilizan este proceso al convertir una dirección codificada en formato URL a una dirección IP. Es esencial tener en cuenta los posibles errores de canonicalización. Las entradas deben decodificarse y, a continuación, deben canonicalizarse antes de validarse. Esto es esencial porque una aplicación no debe decodificar la misma entrada más de una vez porque podría utilizarse para omitir esquemas de lista blanca.

4.2. Imponer el mínimo de privilegios
Los usuarios solo deben tener una cantidad mínima de accesos o privilegios a una aplicación que les permita completar su objetivo necesario. Si sigue esta recomendación, puede ayudar a prevenir que los usuarios tengan acceso a la información personal de otro usuario o a cualquier otra información confidencial. Además, este concepto puede utilizarse para limitar el acceso de un programa o incluso de un proceso. Es esencial determinar la información y recursos necesarios para completar una tarea legítima. Comprender claramente cómo fluyen los datos en la aplicación ayudará a limitar los privilegios.
Recomendación sobre cómo imponer el mínimo de privilegios



Imponga siempre el principio del mínimo de privilegios para el acceso de un usuario o un proceso a cualquier base de datos o sistema de "backend". El acceso debe basarse en los privilegios necesarios para completar el objetivo empresarial.



4.3. Filtración de información
Se produce filtración de información si queda al descubierto información sobre la configuración o procesos internos de una aplicación. La información que se filtra podría consistir en datos confidenciales o podría permitir que un usuario obtuviese acceso de forma ilegítima a la aplicación. Un ejemplo común es la filtración de información a través de un mensaje de error al mostrar información de depuración. La filtración de información también puede ser más sutil como, por ejemplo, revelar información de estado por la duración del proceso de determinadas operaciones.
Recomendaciones sobre cómo prevenir la revelación de información personal



  • Todos los desarrolladores que trabajan en una sola aplicación deben utilizar un enfoque común para manejar las excepciones.
  • Limite el contenido de los mensajes de manejo de errores. Una alternativa sería crear un mensaje de error saneado predeterminado.
  • Utilice mensajes de error similares o idénticos.
  • Una estrategia de mitigación adicional para transacciones confidenciales podría ser la implementación de tiempos de espera aleatorios para todas las transacciones a fin de ocultar este detalle a un atacante.
  • Distintos componentes de una aplicación como, por ejemplo, una base de datos y un servidor web, tendrán mensajes de error diferentes. Es necesario verificar los mensajes de error e intentar deshabilitar o limitar el manejo de errores detallados.

4.4. Referencia de objeto directa
Se produce una referencia de objeto directa cuando un desarrollador muestra un archivo, un directorio, un registro de base de datos, una clave o cualquier otro tipo de referencia. Un atacante puede utilizar esta información para obtener acceso sin autorización. Por ejemplo, supongamos que un mensaje de error para una tienda en línea muestra la ubicación de un archivo de base de datos. Un atacante podría descargar la base de datos y obtener información sobre los clientes de la tienda. Esta vulnerabilidad puede detectarse utilizando herramientas de exploración de vulnerabilidades o un proceso de revisión manual de código. Además, puede evitarse con métodos indirectos como, por ejemplo, un índice o un mapa de referencias indirectas en vez de indicar la ubicación real del archivo, directorio, etc.
Entre los controles recomendados para prevenir la referencia de objeto directa se encuentran los siguientes:



  • Evite visualizar referencias de objeto siempre que sea posible.
  • Las referencias de objeto deben validarse con una lista blanca o el enfoque de "aceptar correcto conocido", es decir, verificar las rutas de acceso para todos los directorios.
  • Confirme que el acceso de usuario al objeto de referencia tiene los privilegios y autorización necesarios.

4.5. Autenticación y gestión de sesión
Las cookies HTTP suelen utilizarse para demostrar que el usuario se ha autenticado y para gestionar la sesión. Los desarrolladores deben evitar el uso de cookies personalizadas. Los fallos de autenticación y gestión de sesión suelen involucrar la no protección de credenciales y símbolos de sesión. Esto conduce al pirateo de la sesión y a que ciertos usuarios tengan la capacidad de obtener acceso ilegítimo a la aplicación. Esto puede prevenirse si se asegura de que el inicio de sesión se produzca en una página cifrada y que todas las credenciales o símbolos de sesión estén cifrados en tránsito mediante SSL.
Métodos para asegurar la autenticación y gestión de sesión seguras



  • Use SSL para transmitir todas las cookies que se utilizan para la autenticación o la gestión de sesión, no únicamente para la página de inicio de sesión.
  • Aproveche las infraestructuras de gestión de sesión con gestión de sesión incorporada, en vez de construir la suya propia.
  • Si la autenticación es satisfactoria o hay un cambio en los privilegios, deben generarse símbolos de sesión nuevos.
  • Las páginas deben incluir un fin de sesión que destruya las cookies en el servidor y en el equipo del cliente.
  • La aplicación debe incluir un tiempo de espera adecuado para la clasificación de los datos.
  • Las cookies HTTP no deben contener información personal.

5. Conclusión

Garantizar la privacidad de sus clientes y de los otros desarrolladores tiene una importancia crítica. Todas las personas tienen derecho a no ser molestadas y a gestionar su información personal. Como desarrolladores, es esencial no solamente conocer las reglas y reglamentos aplicables, sino entender cómo debe incluirse la privacidad como parte del diseño fundamental de una aplicación. La seguridad puede proporcionar controles para contribuir a la privacidad, pero es crucial comprender las filosofías fundamentales sobre la privacidad.

Apéndice A: Cumplimiento de la privacidad - Lista de los 10 factores principales

10. Niños: No debe recopilar conscientemente información personal de niños menores de 13 años.

9. Transparencia (aviso): Es necesario que proporcione transparencia a los usuarios sobre la información personal que se recopila en cumplimiento de más de 100 leyes estatales, locales e internacionales.

8. Retención: No debe retener información por más tiempo del necesario para conseguir sus objetivos empresariales o cumplir la ley correspondiente.

7. Elección: El consentimiento explícito, implica que la persona tiene la elección de consentir el tener comunicación con usted. Debe estudiar la implementación de prácticas de consentimiento explícito, aunque no siempre sea necesario por ley, para solo contactar con aquellas personas que hayan expresado por propia iniciativa que desean que se establezca comunicación con ellas.

6. Correo no deseado (Spam): Se le puede aplicar la ley CAN-SPAM en muchas situaciones; por lo tanto, debe proporcionar información clara en el correo electrónico relativa al origen de los correos comerciales y detalles sobre cómo cancelar la suscripción.

5. Proveedores: Debe cerciorarse de que sus proveedores cumplen sus políticas de privacidad.

4. Datos confidenciales: Muchas leyes sobre privacidad clasifican determinadas categorías de información personal como "confidencial" y aplican restricciones importantes a su recopilación y proceso. Entre los datos más sensibles se cuentan la etnia, la raza, las opiniones políticas y la orientación sexual. Cuando maneje estas categorías de datos, debe ponerse en contacto con su asesor legal.

3. Transferencia internacional: La Unión Europea limita sustancialmente la transferencia internacional de información personal. Intel ha certificado ser un "refugio tributario" ("safe harbor") para transferir tales datos a Estados Unidos. (Consulte: www.export.gov/safeharbor/ para obtener más información sobre transferencias internacionales y refugios tributarios). Si no tiene la certificación de refugio tributario, debe obtener el consentimiento explícito de las personas antes de realizar la transferencia de su información personal; revise las transferencias internacionales con su asesor legal.

2. Notificación de infracción de seguridad: Más de 40 estados de EE.UU. tienen requisitos de notificación de infracción de seguridad y otros países tienen previsto aprobar leyes similares.

1. Cumplimiento de la privacidad: Intel puede rescindir su contrato de distribución de la aplicación si usted viola la legislación sobre privacidad correspondiente, si no proporciona un aviso claro al enviar su aplicación para su validación, o si los usuarios finales se quejan de sus actividades de proceso de datos.

Para obtener información más completa sobre las optimizaciones del compilador, consulte nuestro Aviso de optimización.