Ir al contenido
Seguridad y privacidad

Cada empresa ve solo lo que es suyo

Esta página cuenta lo que bFocus hace para proteger sus datos y los de su cliente — sin sellos inventados y sin promesas que hoy no cumplimos.

  • Aislamiento por empresa
  • Identidad verificada por firma
  • Exportación de datos por usuario
Acceso

Quién entra, y hasta dónde llega

Una empresa, un espacio

Cada cliente tiene su propio subdominio y sus propios datos. Ninguna consulta cruza la frontera de la empresa.

Inicio de sesión sin contraseña

Acceso por código enviado al correo o al WhatsApp, con sesión de 30 días. La contraseña que nadie guarda es la que nadie filtra.

Roles y departamentos

Cinco roles y visibilidad por departamento definen quién ve toda la fila, quién ve solo la suya y quién administra. En la Mesa, el área pone primero lo de cada uno, sin ocultar el resto.

Autorizaciones confirmadas

Aprobar o rechazar un pedido exige un código enviado en el momento, y un solo rechazo basta para frenarlo.

Registro de lo que cambió

Los eventos del ticket, de la tarea y de las autorizaciones quedan guardados con autor y hora.

Comentario confidencial

El contenido sensible solo aparece después de que la persona confirma con un código, aunque ya haya iniciado sesión.

Pedir el código no revela quién tiene cuenta

La pantalla de entrada muestra el sello de Cloudflare antes de pedir el código de acceso. La respuesta es la misma con cuenta o sin ella, incluso en el tiempo de espera: nadie descubre a fuerza de intentos qué direcciones entran en su empresa.

Identidad verificada

Su servidor dice quién es quién

Es el mecanismo que impide que el cliente A vea el ticket del cliente B en el widget, en la app nativa y en los SDK. Simple de implementar y difícil de burlar.

  • Su backend firma el par usuario + empresa con una clave secreta (HMAC)
  • La firma se verifica en cada solicitud y vale 7 días — su servidor genera otra cuando vence
  • Cambiar el secreto invalida las firmas anteriores, con 7 días de transición para que ajuste su lado
  • Una firma inválida se rechaza. Con la opción “exigir identidad verificada” activada, una sesión sin firma no entra — quien crea el widget hoy ya empieza con ella activada
  • Vale igual en los widgets web, en los paquetes nativos y en las llamadas de servidor
  • La clave pública solo abre el widget; con la identidad verificada activada, no lee nada sin la firma de su servidor
  • La clave de servidor tiene alcances por recurso, lista de IPs opcional y revocación inmediata

Cómo hacerlo

La guía de identidad verificada muestra el cálculo de la firma v2 en Node, Python, PHP y otros lenguajes, con un ejemplo listo para copiar.

La puerta pública

El widget es abierto, lo que pasa por él no

La clave publicable queda en el HTML de su sitio. Estas trabas valen incluso cuando la sesión llega sin firma.

Sin firma, cada navegador ve solo lo suyo

La sesión sin firma muestra los tickets y las conversaciones que ese navegador abrió, y nada más. Si quiere la lista completa de la persona, active la identidad verificada.

Sin firma, el registro solo nace

Lo que la página envía crea el cliente y la persona que todavía no existen. No renombra un registro existente ni cambia la persona de empresa.

Adjunto solo lo que subió por el widget

El ticket acepta el archivo que el propio widget envió, de la misma empresa y del mismo usuario. El nombre, el tipo y la dirección salen de lo que nosotros guardamos.

Tope por IP y por empresa

Abrir un ticket, comentar, conversar, subir archivos y recibir respuesta de la IA tienen límite por usuario, por IP y por empresa. Inventar un usuario nuevo en cada llamada no pasa el tope.

El dominio raíz cubre los subdominios

El navegador informa la dirección de la página, así que el widget solo abre en los dominios que usted registre. Registre el dominio raíz y los subdominios vienen incluidos: https://cliente.com ya habilita app.cliente.com y tienda.cliente.com. El esquema tiene que coincidir — https no cubre http — y el puerto también, cuando usted declara uno.

La clave secreta queda en su servidor

La API de integración es de servidor a servidor y no comprueba dominios: en una llamada de servidor no hay origen que comprobar. La clave secreta nunca va al navegador. Si su front necesita los datos, quien llama a la API es el backend de su empresa.

Prueba de navegador humano

El widget que atiende en la puerta de su sitio pasa por un desafío de Cloudflare (Turnstile) que el visitante no ve — la cajita solo aparece si Cloudflare sospecha. Quien pasa recibe una sesión corta, atada a su empresa y con tope de usos, para que nadie resuelva un desafío y lo reaproveche en un robot. Quien no presenta la prueba es rechazado con 403 — y si Cloudflare está caída, el pedido pasa a propósito, para que un tercero no tumbe su acceso.

Quien fue rechazado entra en una fila

Un dominio rechazado en el widget, o una dirección rechazada en una clave de API, se vuelve una línea en Empresa › Integraciones › Autorizaciones: la dirección exactamente como llegó, cuántos intentos y cuándo fue el último. Habilitar es un clic, sin escribir nada — se acabó registrar www en lugar del apex. Solo el administrador habilita, y la pantalla avisa que la dirección apareció sola, sin recomendar ninguna.

Operación

Lo que sostiene cuando algo sale mal

La copia de seguridad es fácil de prometer y difícil de comprobar. Esto es lo que funciona hoy, con la fecha del último ensayo.

Copia diaria fuera de DigitalOcean

Una vez al día, un pg_dump de la base sale cifrado en AES-256-GCM, en streaming, directo a un almacenamiento compatible con S3 de otro proveedor. Se guardan 30 días. La copia de la base gestionada vive en la misma cuenta que la base; esta copia es la que queda si esa cuenta se cae.

Restaurar ya fue ensayado

Sin la clave de cifrado no sube nada — y un fallo de la rutina se convierte en alerta para quien administra la plataforma. El script que descifra está versionado junto al código, y el ensayo de restauración se hizo el 21 de septiembre de 2026: archivo descifrado y leído por pg_restore.

Las rutinas corren lejos de sus chats

SLA, WhatsApp, IA, informes y la copia de la base corren en un proceso separado de la API. Si una rutina pesada revienta la memoria, cae ese proceso, que vuelve a subir — y no la API con todos los chats abiertos.

Monitoreo que no se lleva sus datos

Los errores van a Sentry sin cuerpo de la solicitud, sin datos personales y sin las variables locales del código: llega la excepción, la pila y la ruta. Y una verificación profunda responde con error cuando el proceso de las rutinas deja de latir.

LGPD

Datos personales, tratados como tales

Según la LGPD, la ley brasileña de protección de datos, la empresa que contrata es la responsable de los datos de sus clientes; bFocus es el encargado. Lo que ofrecemos para que usted cumpla su papel:

  • Exportación de los datos de un usuario por el administrador, con registro; eliminación a pedido, por el soporte
  • Los artículos generados a partir de tickets salen con los datos sensibles enmascarados
  • Correo entrante endurecido: remitente verificado, respuesta solo de quien participa del ticket y adjuntos ejecutables bloqueados
  • Medición de audiencia en este sitio solo después de su aceptación — y nada de rastreo dentro del widget
  • Panel de cumplimiento con lo que exigen el SAC, las reglas brasileñas de atención al consumidor, y la LGPD, incluidos los plazos y el acceso a un humano

Dónde quedan los datos

Infraestructura de DigitalOcean en los Estados Unidos (región de San Francisco), con base de datos gestionada, copias de seguridad y conexión cifrada. La transferencia internacional está prevista en el contrato, como exige la LGPD.

La IA y sus datos

La conversación va al proveedor que usted eligió

La clave es suya

bFocus no provee IA. El texto enviado al modelo circula bajo el contrato que su empresa tiene con su proveedor.

No entrenamos modelos

No entrenamos ningún modelo con sus datos, ni usamos el contenido de una empresa para responder a otra.

Tope antes del gasto

Los límites en reales se verifican antes de la llamada. Al llegar al tope, la atención sigue con personas.

Nada de IA por nuestra cuenta

Toda llamada de IA sale de la clave de su empresa: la conversación, el resumen, la clasificación y también los vectores de la búsqueda por significado en la base. bFocus no provee IA, sin asterisco. Sin una clave que genere vectores, la base sigue con la búsqueda por texto.

Preguntas sobre seguridad

¿Ustedes miran los datos de mi empresa?

Solo cuando usted pide ayuda y lo autoriza, para investigar un problema específico. No hay escaneo de contenido.

¿Tienen certificación ISO o SOC 2?

Todavía no. Preferimos decirlo con todas las letras antes que exhibir un sello que no tenemos. Lo que existe hoy está descrito en esta página, y la página cambia cuando cambie la realidad.

¿Puedo borrar todo si me voy?

Sí. Al cerrarla, la cuenta se desactiva y los datos se eliminan a pedido. Antes, usted puede sacar informes y llevarse los datos por la API.

¿El widget usa cookies?

No usa cookies de rastreo. Guarda la sesión de la conversación en el almacenamiento local del navegador de su cliente, y eso sirve solo para que no pierda el historial al recargar la página.

¿Le quedó alguna duda de seguridad?

Si su área de tecnología necesita detalles, respondemos con el nivel técnico que pida.