Saltar al contenido

Seguridad en cada paso de cada conversación.

Ricky guarda las conversaciones de tus clientes, las llaves de tus canales y los datos de tu negocio. Aquí está cada protección: el mecanismo exacto y por qué te protege.

MetaTech Provider certificado

Recorrido de un mensaje de WhatsApp en Ricky

Cliente

Hola, ¿ya están listos mis resultados?

Ricky
  1. 01Se verifica la firma de Meta

    HMAC-SHA256 sobre el cuerpo exacto. Sin firma válida, se rechaza y no se guarda.

  2. 02Se guarda tal como llegó

    Primero queda en el registro de entrada; después se procesa.

  3. 03Solo tu empresa lo ve

    Seguridad a nivel de fila en Postgres y autorización en el servidor.

  4. 04El agente usa solo lo que le activaste

    Herramientas limitadas a sus capacidades; puede pasar el chat a tu equipo.

  5. 05La respuesta sale una sola vez

    Bandeja de salida con llave única: un reintento no duplica el mensaje.

  6. 06Queda la evidencia, sin credenciales

    El intercambio con Meta se guarda con los tokens tachados.

Infraestructura

Cada pieza corre en un proveedor especializado.

Ricky no administra servidores propios en producción. Se conecta directo con cada proveedor, sin revendedores en medio.

  • Supabase

    Base de datos Postgres. Cifra los datos en reposo con AES-256 y en tránsito con TLS; Supabase declara cumplimiento SOC 2 Tipo 2.

  • Meta

    Conexión directa con la API oficial de WhatsApp Cloud y la Graph API. Ricky es Meta Tech Provider.

  • Vercel

    Sirve el sitio y la app web, solo por HTTPS.

  • Cloudflare

    Corre las conversaciones en vivo y las tareas en segundo plano en Workers.

  • LiveKit

    Corre las llamadas de los agentes de voz.

  • Doppler

    Guarda las claves de la plataforma, separadas por ambiente.

  • GitHub

    Guarda el código privado; ahí Dependabot revisa las dependencias y gitleaks busca secretos filtrados.

  • Sentry

    Registra cada error y vigila cada tarea programada.

Aislamiento

Cada empresa ve solo lo suyo.

Tus conversaciones, contactos y reportes están separados de los de cualquier otra empresa en Ricky, en la base de datos y en el servidor.

  • Seguridad a nivel de fila (RLS) de Postgres activa en todas las tablas: cada fila lleva la empresa a la que pertenece.
  • Los datos de tu empresa se leen y escriben en el servidor, después de comprobar que perteneces a ella. El navegador no consulta esos datos directamente.
  • Cada persona entra con su propia cuenta y su rol: propietario, administrador o miembro.
  • Las actualizaciones en vivo viajan por canales privados que solo abren los miembros de tu empresa. Ver una conversación en vivo exige un pase firmado que vence en 60 segundos y sirve solo para esa conversación.

Credenciales

Las llaves de tus canales, en una bóveda.

Para hablar con WhatsApp, Instagram o tu ERP, Ricky necesita tus tokens. Nunca quedan en texto plano en la base de datos.

  • Los tokens de WhatsApp, Instagram y Messenger y las llaves de Odoo y n8n se cifran en Supabase Vault. La tabla guarda solo una referencia.
  • Vault usa cifrado autenticado (libsodium) y guarda la llave fuera de la base de datos: un respaldo de la base no revela tus tokens.
  • Solo el servidor de Ricky puede descifrarlos. Las funciones de descifrado están cerradas para los usuarios y para el navegador.
  • Las llaves de la API para desarrolladores se comprueban por su huella SHA-256 y tienen permisos por alcance, por ejemplo solo leer conversaciones.

Auditoría

Nada entra sin firma. Todo queda registrado.

Cada aviso que llega de Meta, Stripe o LiveKit se verifica antes de procesarse, y cada paso queda escrito para reconstruir qué pasó y cuándo.

  • Los webhooks de Meta se verifican con HMAC-SHA256 sobre el cuerpo exacto antes de leerlos. Stripe, LiveKit, Composio y fal, cada uno con su propia firma.
  • Lo que llega se guarda tal cual en un registro de entrada antes de procesarse. Lo que Ricky envía a cada proveedor queda guardado con las credenciales tachadas.
  • Los cambios de tu cuenta se guardan como eventos versionados y fechados, en un registro diseñado para agregar y no editar.
  • Cada envío a un cliente nace en una bandeja de salida con llave única, en la misma transacción que lo causa: un reintento no envía el mensaje dos veces.

Agentes de IA

La IA trabaja con permisos, no con acceso libre.

Los agentes atienden a tus clientes y el asistente interno ayuda a tu equipo, dentro de límites que tú controlas.

  • Cada agente usa solo las herramientas que activaste para él.
  • El asistente interno pide tu aprobación antes de cualquier acción que cambie datos.
  • El contenido de archivos y documentos se trata como información, nunca como instrucciones: un PDF con órdenes escondidas no controla al agente.
  • El agente puede pasar la conversación a una persona de tu equipo.
  • Las direcciones de Odoo, n8n y webhooks que configuras tienen que ser HTTPS públicas: Ricky rechaza direcciones internas, para que nadie lo use para entrar a una red privada.

Sitio y app

El navegador solo recibe lo que necesita mostrar.

Las claves y la lógica interna se quedan en el servidor. Lo que viaja a tu navegador está limitado y protegido.

  • Las claves del servidor están marcadas solo-servidor: si alguna llegara al código del navegador, la compilación falla.
  • El navegador recibe solo identificadores públicos, como la llave publicable de Supabase, nunca claves secretas.
  • HTTPS obligatorio por dos años (HSTS), política de seguridad de contenido (CSP) y prohibición de cargar Ricky dentro de otro sitio, contra el clickjacking.

Cómo trabajamos

La seguridad es un proceso diario, no un sello.

  • OpenAI Daybreak

    Tenemos acceso a modelos avanzados de ciberseguridad (OpenAI Daybreak) para encontrar y corregir vulnerabilidades en nuestro código.

  • Dependabot y alertas de GitHub

    GitHub nos alerta cuando una dependencia tiene una vulnerabilidad conocida y Dependabot propone la actualización de seguridad.

  • gitleaks

    Revisa cada push y cada pull request para que ninguna clave llegue al repositorio.

  • Doppler

    Las claves de la plataforma viven en Doppler, nunca en el código.

  • Sentry

    Registra cada error, y cada tarea programada tiene un monitor que avisa si no corre a tiempo.

  • Informes de incidentes

    Cada falla que afecta a un cliente lleva un informe escrito sin buscar culpables: qué pasó, por qué y qué cambiamos.

Tus datos son tuyos.

Puedes sacar tus contactos, conversaciones y mensajes cuando quieras con la API REST de Ricky.

Ver la API

¿Encontraste una vulnerabilidad?

Escríbenos a ricardo@getricky.ai con los pasos para reproducirla. La revisamos y te respondemos. Te pedimos no publicarla hasta que esté corregida.