Información legal

Reglamento de Datos (UE) 2023/2854

Información para clientes de FarmaLoyalty.

Última actualización: 23 de octubre de 2026

01

Jurisdicción de la infraestructura

La base de datos, el servidor de la aplicación y las copias de seguridad de FarmaLoyalty están en la Unión Europea. Los proveedores que usamos y la jurisdicción a la que están sujetos son:

Railway Corp.

Para qué
Base de datos, servidor y copias
Dónde están los datos
Ámsterdam (Países Bajos, UE)
Entidad
Estados Unidos

Vercel Inc.

Para qué
Interfaz web
Dónde están los datos
Fráncfort (Alemania, UE)
Entidad
Estados Unidos

Cloudflare, Inc. (R2)

Para qué
Copia de seguridad externa
Dónde están los datos
Unión Europea
Entidad
Estados Unidos

OpenAI Ireland Ltd.

Para qué
Asistente de inteligencia artificial
Dónde están los datos
OpenAI Ireland Ltd. trata los datos del EEE según el acuerdo de encargo de OpenAI; la facturación la emite OpenAI OpCo, LLC (Estados Unidos). Tratamiento en Estados Unidos mediante cláusulas contractuales tipo.
Entidad
Irlanda (UE)

Resend, Inc.

Para qué
Envío de email
Dónde están los datos
Irlanda (UE)
Entidad
Estados Unidos

Twilio Inc.

Para qué
WhatsApp
Dónde están los datos
Estados Unidos
Entidad
Estados Unidos

Meta Platforms Ireland Ltd.

Para qué
Red de WhatsApp
Dónde están los datos
Irlanda y Estados Unidos
Entidad
Irlanda (UE)

001TECH, S.L. (LabsMobile)

Para qué
SMS
Dónde están los datos
España (UE)
Entidad
España (UE)

Google LLC / Apple Inc.

Para qué
Tarjetas Wallet
Dónde están los datos
Estados Unidos
Entidad
Estados Unidos

Zoho Corporation B.V.

Para qué
Correo de privacidad
Dónde están los datos
Unión Europea
Entidad
Países Bajos (UE)

MEDIFORM PLUS, S.L.

Para qué
Distribuidor: implantación y gestión del programa en las farmacias de su canal (subencargado por addendum)
Dónde están los datos
España (UE)
Entidad
España (UE)

Stripe

Para qué
Cobro de la suscripción de la farmacia, sin datos de pacientes
Dónde están los datos
Estados Unidos
Entidad
Estados Unidos

Cloudinary Ltd.

Para qué
Logos e imágenes de campañas y tarjetas, sin datos de pacientes
Dónde están los datos
Estados Unidos
Entidad
Israel

Los proveedores con sede en Estados Unidos pueden estar sujetos a la legislación de ese país sobre acceso de las autoridades a datos, aunque los datos estén en la UE.

02

Medidas frente al acceso o la transferencia internacional por autoridades públicas

  • Los datos se alojan en la UE y están cifrados en tránsito y en reposo.
  • Con cada proveedor tenemos un contrato que limita el uso de los datos a la prestación del servicio.
  • Solo entregamos datos a una autoridad de fuera de la UE cuando lo permita un acuerdo internacional o el Derecho de la UE o de España (artículo 32 del Reglamento de Datos).
  • Ante una solicitud, comprobamos que sea legal, entregamos solo lo mínimo, la impugnamos cuando proceda e informamos al cliente antes, salvo que la ley lo prohíba.

03

Exportación de datos y cambio de proveedor

El cliente puede pedir en cualquier momento la exportación de sus datos o el traslado a otro proveedor. Se entregan estos ficheros:

clientes

Formato
CSV (UTF-8)
Contenido

clientes.csv

Una fila por cliente. raw_data lleva el registro tal como llegó del programa de gestión. La dirección postal no se guarda en FarmaLoyalty y no sale.

id, tenant_id, farmacia_id, external_client_code, erp_card_code, farmaloyalty_card_code, nif, customer_name, mobile, phone, email, postal_code, city, province, signup_date, birth_date, gender, customer_type, current_points, current_euros, lopd_signed, email_alert, sms_alert, gdpr_orders, gdpr_points_info, gdpr_birthday_campaigns, gdpr_balance_notifications, gdpr_marketing, raw_data, anonimizado_at, created_at, updated_at

ventas

Formato
CSV (UTF-8)
Contenido

ventas.csv

Una fila por línea de venta, con el resultado de los puntos.

id, tenant_id, farmacia_id, idventa, idlinea, fechaventa, codigonacional, codigoean, nombreproducto, unidades, pvp, tipoaportacion, importebruto, descuentolinea, descuentooperacion, vale, descuentofidelidad, abonoeuros, importeneto, idcliente, nombrecliente, idvendedor, nombrevendedor, maquina, sensible, points_status, points_processed_at, raw_data, row_hash, sincronizado_at, created_at, updated_at

puntos, canjes y vales

Formato
CSV (UTF-8)
Contenido

puntos.csv

Cada movimiento de puntos: ganados, canjeados, ajustados, traídos de otro programa o caducados.

id, tenant_id, farmacia_id, erp_transaction_id, idventa, idlinea, external_client_code, farmaloyalty_card_code, movement_type, points, source, rule_id, rule_name, description, calculation_detail, importacion_id, devuelve_movimiento_id, created_at

vales.csv

Los vales de descuento creados.

id, tenant_id, farmacia_id, code, name, type, value, description, gift_description, scope, external_client_code, farmaloyalty_card_code, audience_id, automation_id, starts_at, expires_at, max_uses, uses_count, is_active, created_by_user_id, created_at, updated_at

vales_canjes.csv

Cada uso de un vale.

id, tenant_id, farmacia_id, voucher_id, external_client_code, farmaloyalty_card_code, customer_name, erp_transaction_id, purchase_amount, redeemed_value, redeemed_at, redeemed_by_user_id, notes, created_at

consentimientos y su prueba

Formato
CSV (UTF-8); los documentos firmados, en su formato original (PDF o imagen)
Contenido

consentimientos.csv

Cada decisión del cliente por canal y finalidad, con su prueba.

id, tenant_id, farmacia_id, external_client_code, canal, finalidad, acepta, fecha, origen, texto, texto_version, ambito, evidencia, registrado_por_user_id, registrado_por_cliente, importacion_id, created_at

consentimientos_importaciones.csv

Lo que declaró la farmacia al importar permisos.

id, tenant_id, farmacia_id, declarado_por_user_id, canal, finalidad, declaracion_texto, num_clientes, created_at

consentimientos_salud.csv

Permisos para usar las compras de parafarmacia de salud y de medicamentos sin receta.

id, tenant_id, farmacia_id, external_client_code, ambito, acepta, origen, texto, texto_version, codigo_id, codigo_validado, codigo_canal, codigo_destino, ip_recortada, navegador, registrado_por_user_id, documento_id, evidencia, fecha

consentimientos_salud_documentos.csv

La ficha de cada documento firmado.

id, tenant_id, farmacia_id, external_client_code, nombre_fichero, mime, sha256, bytes, subido_por_user_id, subido_at

documentos_salud/

Cada documento firmado escaneado, como ID_nombre del fichero.

contactos_verificados.csv

Móviles y correos que el cliente confirmó con un código.

id, tenant_id, farmacia_id, external_client_code, tipo, valor, valor_erp_antes, enlace_id, verificado_at, evidencia

bajas_del_programa.csv

Solicitudes de baja del programa.

id, tenant_id, farmacia_id, external_client_code, estado, created_at, atendida_at, atendida_por_user_id, evidencia

cambios_preferencias_erp.csv

Cambios de permisos detectados en el programa de gestión.

id, tenant_id, farmacia_id, external_client_code, campo, valor_nuevo, detectado_at

campañas, plantillas y resultados

Formato
JSON
Contenido

campanas.json

Cuatro listas: campanas, automatizaciones, plantillas y resultados.

Campañas

id, tenant_id, farmacia_id, name, audience_id, channels, subject, message, template_key, status, schedule_type, scheduled_at, sent_at, metadata, created_at, updated_at

Automatizaciones

id, tenant_id, farmacia_id, template_key, name, description, is_active, channel, canal_alternativo, subject, message_template, mensajes, editor_template_id, trigger_config, disparador, vale, audience_id, tope_sms_mes, es_propia, last_run_at, created_at, updated_at

Plantillas

Las que ha creado o cambiado la farmacia.

id, tenant_id, farmacia_id, key, name, tag, emoji, description, canvas_w, canvas_h, elements, html, html_manual, is_base, is_active, min_plan_code, created_at, updated_at

Resultados

Un resumen por envío. El detalle por cliente de cada campaña se descarga además en CSV desde Resultados.

id, tenant_id, farmacia_id, campaign_id, automation_id, audience_id, event_type, channel, recipients, delivered, opened, clicked, revenue, metadata, created_at

segmentos y audiencias

Formato
JSON
Contenido

segmentos.json

Dos listas: segmentos y clientes_anadidos_a_mano.

Segmentos

id, tenant_id, farmacia_id, name, description, audience_type, conditions, tags, is_active, estimated_clients, last_preview, last_calculated_at, last_campaign_at, created_by_user_id, created_at, updated_at

Clientes añadidos a mano

id, tenant_id, farmacia_id, audience_id, external_client_code, added_by_user_id, added_at

reglas del programa (puntos, niveles y vales)

Formato
JSON
Contenido

programa.json

Con programa, reglas_de_puntos (cada una con sus condiciones), exclusiones, prioridades y niveles_y_estados. Los vales van en vales.csv.

Programa

programa_inicio_at, puntos_por_euro, canje_codigonacional, vale_codigonacional

Reglas de puntos

id, tenant_id, farmacia_id, rule_name, description, rule_type, advanced_priority, scope, scope_value, accumulation_type, points_value, multiplier, min_purchase_amount, starts_at, ends_at, is_active, created_at, updated_at; y sus condiciones: id, rule_id, field, operator, value, created_at

Exclusiones y prioridades

id, tenant_id, farmacia_id, name, exclusion_type, value, description, is_active, created_by, created_at, updated_at; y las prioridades: id, tenant_id, farmacia_id, scope, priority_order, is_active, created_at, updated_at

Niveles y estados

id, tenant_id, farmacia_id, new_days, active_days, recent_days, risk_days, dormant_days, silver_min_spent, silver_min_tickets, gold_min_spent, gold_min_tickets, platinum_min_spent, platinum_min_tickets, vip_min_spent, vip_min_tickets, frequency_warning_ratio, frequency_danger_ratio, created_at, updated_at

diseño de la tarjeta

Formato
JSON e imágenes
Contenido

tarjeta.json

El diseño de la tarjeta. El logo y la cabecera van como enlace (logo_url, strip_url) o, si se subieron como imagen, en base64 (logo_data, strip_data).

id, tenant_id, farmacia_id, bg_color, text_color, accent_color, middle_title_color, pharmacy_name, slogan, phone, address, website, schedule, welcome_message, logo_url, strip_url, logo_data, strip_data, banner_modo, banner_color, banner_encuadre, logo_encuadre, logo_fondo, reverso_enlaces, show_logo, show_pharmacy_name, show_header_metric, header_field, header_field_label, primary_field, primary_field_label, middle_mode, secondary_fields, auxiliary_fields, bottom_fields, info_fields, info_notification_text, info_client_text, info_card_text, info_level_text, info_joined_at_text, info_rewards_text, info_loyalty_text, info_help_text, info_privacy_text, info_terms_text, is_active, created_at, updated_at

tarjeta/

Las imágenes subidas, como ficheros: logo y cabecera.

registro de auditoría

Formato
CSV (UTF-8)
Contenido

registro_auditoria.csv

Quién hizo qué y cuándo: descargas, campañas y cambios.

id, tenant_id, farmacia_id, user_id, user_email, accion, filas, filtros, ip, creado_en

Todo se entrega junto en un ZIP. Los CSV van separados por punto y coma, con el nombre de cada columna en la primera fila, y un fichero LEEME.txt indica cuántos registros tiene cada fichero. Qué significa cada campo, y qué se puede descargar directamente desde el panel, lo explica la página de exportación de datos.

No se incluyen: el código y el diseño de la Plataforma, el agente de sincronización y sus consultas, el catálogo maestro de productos ni las credenciales de acceso.

Para pedir la exportación o el cambio: privacidad@farmaloyalty.com. Plazos: preaviso máximo de 2 meses, transición máxima de 30 días (prorrogable una vez a petición del cliente) y 30 días más para recuperar los datos. Sin coste.