Mantén la credencial fuera de la página

El token de un enlace compartido sirve para un dashboard que cualquiera con el enlace puede ver, pero un token escrito en una página web lo puede leer quien la abra. Cuando cada visitante debe ver solo sus filas, guarda una clave de embed en tu servidor (Ajustes, API tokens, tipo Clave de embed) y pide a tu servidor una sesión de corta duración por visitante:

curl -X POST "https://eventhorizondata.com/api/v1/embed-sessions" \
  -H "Authorization: Bearer $EH_EMBED_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "share_link_id": "<share link id>",
    "expires_in": 600,
    "row_scope": [{ "event_bucket_id": "<bucket id>", "column_key": "region", "values": ["EMEA"] }]
  }'

# { "data": { "token": "ehs_...", "expires_at": "..." } }

Entrega a la página solo el token de sesión. Funciona los segundos que pediste (de 60 a 3600, diez minutos por defecto), muestra lo que muestra el enlace compartido limitado a las filas que indicaste y después deja de funcionar. El elemento pide una a tu endpoint, y el módulo acepta tokenFromUrl, o cualquier función que devuelva un token:

<!-- /eh/session is YOUR endpoint: it makes the request above and returns the answer -->
<eh-chart token-url="/eh/session" widget="<widget id>" style="height: 320px"></eh-chart>
import { createClient, tokenFromUrl } from '@event-horizon-data/charts';

// tokenFromUrl asks YOUR endpoint; any function that returns a token works too.
const client = createClient({ token: tokenFromUrl('/eh/session') });

La clave de embed no lee datos y la sesión solo puede estrechar el enlace, nunca ampliarlo. Revoca la clave, o apaga el enlace, y todas las sesiones dejan de funcionar al instante. La biblioteca pide una sesión en el primer uso, otra poco antes de que caduque, y una más si la API responde 404 a una sesión entregada antes.

Envía tu primer evento.

Crea una cuenta y pasa de los datos en bruto a un panel en minutos.