Chatty Chatty # Chatty by PersonaliAI

English · 简体中文 · 日本語 · Español

Deploy to Render   Deploy on Railway

**Plataforma de soporte y atención al cliente con IA de código abierto: widget de chat web + hub omnicanal de 7 canales + servidor MCP completo, fundamentado en tu propia base de conocimiento.** Chatty es una alternativa de código abierto y autoalojable a **Zendesk** e **Intercom** para equipos que necesitan un widget con IA, automatización visual de flujos y una bandeja de entrada compartida con takeover humano. Chatty es un proyecto independiente no afiliado con Zendesk ni Intercom. Ejecuta los contenedores de la aplicación en tu propia infraestructura mientras mantienes Supabase Auth, Postgres, Storage y Realtime gestionados. El mismo contrato de despliegue funciona en un VPS, Railway, Render, Cloud Run u otro host Docker sin modificar tu proyecto activo de Supabase. [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![CI](https://github.com/PersonaliAI/chatty/actions/workflows/ci.yml/badge.svg)](https://github.com/PersonaliAI/chatty/actions/workflows/ci.yml) [![GDPR Compliant](https://img.shields.io/badge/GDPR-100%25%20Compliant-003399?logo=shield&logoColor=ffcc00)](#-gdpr-y-privacidad-de-datos-empresarial) [![Next.js](https://img.shields.io/badge/Next.js-15-black?logo=next.js)](frontend) [![FastAPI](https://img.shields.io/badge/FastAPI-Python%203.11%20%2F%203.13-009688?logo=fastapi&logoColor=white)](backend) [![Supabase](https://img.shields.io/badge/Database-Supabase-3ECF8E?logo=supabase&logoColor=white)](https://supabase.com) [![MCP](https://img.shields.io/badge/FastMCP-81%20Herramientas-8b5cf6)](#servidor-mcp-y-control-de-agentes) [![Docker](https://img.shields.io/badge/Deploy-Docker%20Compose-2496ED?logo=docker&logoColor=white)](docker-compose.yml) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md) [Chatty Cloud (Alojado)](https://chatty.personaliai.com) · [Documentación](https://docs.chatty.personaliai.com) · [Acuerdo de Procesamiento de Datos (DPA)](frontend/src/app/(legal)/dpa/page.tsx) · [Subencargados del Tratamiento](frontend/src/app/(legal)/subprocessors/page.tsx) · [Tarjeta de Rendimiento](https://docs.chatty.personaliai.com/guides/scorecard) · [Constructor de Flujos](https://docs.chatty.personaliai.com/guides/flow-architect) · [Inserción del Widget](https://docs.chatty.personaliai.com/guides/embed-widget) · [Inicio Rápido](#-inicio-rápido-docker-compose) · [Guía de Autoalojamiento](https://docs.chatty.personaliai.com/guides/self-hosting) · [Servidor MCP](#servidor-mcp-y-control-de-agentes) · [Plugins de IA](https://docs.chatty.personaliai.com/guides/ai-coding-plugins) · [Hub Omnicanal](https://docs.chatty.personaliai.com/guides/omnichannel) · [WooCommerce](https://docs.chatty.personaliai.com/guides/woocommerce)

Chatty Executive Overview & Live Telemetry

--- ## Tabla de contenidos - [¿Por qué Chatty?](#por-qué-chatty) - [Muestra del Panel de Control en Vivo (4K Retina)](#-muestra-del-panel-de-control-en-vivo-4k-retina) - [Características](#-características) - [Hub Omnicanal de 7 Canales](#-hub-omnicanal-de-7-canales) - [Motor Visual de Flujos y Runtime Condicional](#️-motor-visual-de-flujos-y-runtime-condicional) - [Integración con WooCommerce y RAG Multimodal](#-integración-con-woocommerce-y-rag-multimodal) - [Agente de Voz LiveKit y SDKs](#-agente-de-voz-livekit-y-sdks) - [Arquitectura](#arquitectura) - [Requisitos](#-requisitos) - [Inicio Rápido (Docker Compose)](#-inicio-rápido-docker-compose) - [Servidor MCP y Control de Agentes](#servidor-mcp-y-control-de-agentes) - [Desarrollo Local (sin Docker)](#-desarrollo-local-sin-docker) - [Pruebas e Integración Continua](#-pruebas-e-integración-continua) - [GDPR y Privacidad de Datos Empresarial](#-gdpr-y-privacidad-de-datos-empresarial) - [Seguridad](#-seguridad) - [Contribuciones](#-contribuciones) - [Licencia](#-licencia) ## ¿Por qué Chatty? La mayoría de plataformas de chatbots comerciales cobran suscripciones elevadas por usuario o por mensaje y custodian tus conversaciones en sus servidores. Chatty es de código abierto (open-core): puedes autoalojarlo gratuitamente en tu propia infraestructura o usar [Chatty Cloud](https://chatty.personaliai.com) si prefieres delegar el mantenimiento técnico. En ambas modalidades cuentas con el mismo conjunto de funciones avanzadas. | | Chatbots SaaS de código cerrado | **Chatty** | |---|---|---| | **Tus datos de conversación** | Residen permanentemente en sus servidores | En tu proyecto de Supabase (autoalojado o en Chatty Cloud) | | **Precios** | Por usuario / por mensaje, sin nivel gratuito | Autoalojamiento gratuito o planes transparentes en Chatty Cloud | | **Modelos de Lenguaje (LLM)** | Bloqueado a su proveedor específico | **BYOK (Trae tu propia clave)**: Gemini por defecto, o OpenAI, Anthropic, OpenRouter | | **Hub Omnicanal** | Costoso o limitado al chat web | **7 canales integrados nativamente**: WhatsApp, Messenger, IG, TikTok, Telegram, SMS, Email | | **Automatización / Agentes** | Generalmente inexistente o complemento de pago | **Servidor FastMCP completo incluido**: 81 herramientas con OAuth 2.0 y API Keys | | **Código fuente** | Privado / cerrado | **Licencia MIT**: audítalo, modifícalo, haz fork y ejecútalo donde quieras | ## 🖥️ Muestra del Panel de Control en Vivo (4K Retina) Los 22 módulos principales han sido capturados directamente del entorno de producción real ([`chatty.personaliai.com/dashboard`](https://chatty.personaliai.com/dashboard)) en resolución **4K Retina (3840×2160)** con datos reales en vivo:
Bandeja de Entrada Omnicanal y SLA
Bandeja de Entrada Omnicanal y SLA
Hilos de visitantes en tiempo real, alertas de vencimiento de SLA y takeover humano en 1 clic
Base de Conocimiento y Documentos Vectoriales
Base de Conocimiento y Documentos Vectoriales
Ingestión multiformato, rastreador web recursivo y más de 186k caracteres indexados
Estudio de Voz WebRTC LiveKit
Estudio de Voz WebRTC LiveKit
Audio bidireccional sub-500ms, visualizadores dinámicos y SDKs multiplataforma
Arquitecto Visual de Flujos de Conversación
Arquitecto Visual de Flujos de Conversación
Grafo interactivo de árbol de decisiones con AI Flow Copilot y validación de ciclos
Personalizador de Widget en Vivo
Personalizador de Widget en Vivo
Previsualización en tiempo real WYSIWYG con motor automatizado de contraste WCAG AA/AAA
Tasas de Resolución y Desviación de Tickets
Tasas de Resolución y Desviación de Tickets
Volumen de conversación, tasa de desviación del 100% y mapas de calor de tokens
📸 Haz clic para explorar las 22 vistas del panel de control de producción en alta resolución
| # | Módulo | Descripción | Captura 4K | | :---: | :--- | :--- | :---: | | **01** | **Resumen Ejecutivo** | Puntuación de salud de 5 pilares, tasa de desviación y KPIs en vivo a 30 días | [Ver imagen 4K](screenshots/real-01-overview.png) | | **02** | **Espacio de Chatbots** | Gestión multirrobot, cambio de modelo (GPT-4o, Claude, Gemini) | [Ver imagen 4K](screenshots/real-02-workspace.png) | | **03** | **Personalizador de Widget** | Paleta de diseño de 6 partes, logotipo de marca, contraste WCAG | [Ver imagen 4K](screenshots/real-03-customizer.png) | | **04** | **Base de Conocimiento** | 52+ fuentes, 186k caracteres indexados, búsqueda vectorial HNSW | [Ver imagen 4K](screenshots/real-04-knowledge-base.png) | | **05** | **AI Playground** | Simulador en entorno aislado con panel de inspección de citas | [Ver imagen 4K](screenshots/real-05-playground.png) | | **06** | **Bandeja Omnicanal** | Helpdesk unificado, presencia en vivo del visitante, temporizadores de SLA | [Ver imagen 4K](screenshots/real-06-inbox.png) | | **07** | **Campañas Proactivas** | Modales de anuncio proactivos, intención de salida y activación por scroll | [Ver imagen 4K](screenshots/real-07-campaigns.png) | | **08** | **Constructor de Flujos** | Lienzo de conversación drag-and-drop con AI Flow Copilot | [Ver imagen 4K](screenshots/real-08-flow-builder.png) | | **09** | **CRM de Leads** | Extracción automática de leads, telemetría GeoIP por país/ciudad, exportación CSV | [Ver imagen 4K](screenshots/real-09-leads.png) | | **10** | **Feedback y CSAT** | Calificaciones post-chat, análisis de sentimiento y etiquetas de fricción | [Ver imagen 4K](screenshots/real-10-feedback.png) | | **11** | **Mapa de Visitantes** | Mapa interactivo Leaflet de geolocalización que muestra tráfico regional | [Ver imagen 4K](screenshots/real-11-map.png) | | **12** | **Planificador de Citas** | Sincronización bidireccional Google Calendar OAuth y enlaces automáticos | [Ver imagen 4K](screenshots/real-12-meetings.png) | | **13** | **Buzón Entrante** | Enrutamiento de emails vía Resend que convierte correos en tickets | [Ver imagen 4K](screenshots/real-13-mailbox.png) | | **14** | **Notificaciones** | Políticas de alerta de incidentes enviadas por Slack, Email y SMS | [Ver imagen 4K](screenshots/real-14-notifications.png) | | **15** | **Registro de Auditoría** | Registro inmutable de solo adición con IP y correo del actor | [Ver imagen 4K](screenshots/real-15-audit-log.png) | | **16** | **Analítica** | Métricas de desviación, velocidad de resolución y mapas de calor de tokens | [Ver imagen 4K](screenshots/real-16-analytics.png) | | **17** | **Incrustación e Integración** | Generador de incrustación para React, Next.js, WordPress y lista blanca | [Ver imagen 4K](screenshots/real-17-embed-integrate.png) | | **18** | **Agente de Voz** | Estudio WebRTC LiveKit con visualizador activo y código multi-SDK | [Ver imagen 4K](screenshots/real-18-voice-agent.png) | | **19** | **Centro FastMCP** | 81 herramientas y 8 recursos para Claude Desktop, Cursor, Antigravity | [Ver imagen 4K](screenshots/real-19-mcp.png) | | **20** | **API para Desarrolladores** | Claves de API con ámbito (`chatty_sk_...`) y fragmentos en varios lenguajes | [Ver imagen 4K](screenshots/real-20-developer-api.png) | | **21** | **Facturación y Cuotas** | Portal Stripe, libro de cuotas y programa de referidos | [Ver imagen 4K](screenshots/real-21-billing.png) | | **22** | **Ajustes del Agente** | Respuestas fundamentadas en vectores, depuración de PII y cifrado BYOK | [Ver imagen 4K](screenshots/real-22-agent-settings.png) |
--- ## ✨ Características - 🔌 **Hub Omnicanal de 7 Canales** — Mensajería bidireccional estándar con WhatsApp Cloud API, Facebook Messenger, Instagram Direct, TikTok Business Messaging, Telegram Bot, Twilio SMS (con opt-out TCPA automático) y correo electrónico de soporte con limpieza de respuestas citadas. - 🗺️ **Motor Visual de Flujos** — Diseñador interactivo (`@xyflow/react`) con ramificaciones horarias declarativas (p. ej., ofertas dinámicas antes de las 6:00 PM vs. después de las 6:00 PM), captura de leads, reserva de citas, webhooks HTTP y detección de plataforma. - ⚡ **Bandeja de Entrada y Takeover Humano en Vivo** — Interfaz de soporte en tiempo real vía Server-Sent Events (SSE) que permite a los agentes pausar al bot con un solo clic y responder directamente a chats de WhatsApp, Instagram, TikTok o SMS. - 🛒 **WooCommerce y RAG Multimodal** — Sincronización en tiempo real con tiendas WooCommerce (consulta de pedidos, inventario en vivo, enlaces al carrito) junto con ingestión de PDF, DOCX, CSV, TXT, rastreo web e imágenes. - 🎙️ **Agente de Voz LiveKit** — Conversaciones de voz bidireccionales en tiempo real mediante WebRTC con 5 visualizadores dinámicos (`wave`, `bar`, `grid`, `radial`, `aura`), transcripción de voz en vivo, modelos modulares y multimodales directos, y SDKs para Web, React, iOS, Android, Flutter y React Native. - 💬 **Widget de Chat Integrable** — Una sola etiqueta `` | `window.Chatty.openVoice()` | | **React / Next.js** (`@personaliai/react-widget`) | `` o `` | `useChatty().openVoice()` | | **iOS** (SwiftUI) | `ChattyVoiceView(botId: "...")` | `ChattyClient.createVoiceToken(...)` | | **Android** (Compose) | `ChattyVoiceScreen(botId = "...")` | `ChattyApi.createVoiceToken(...)` | | **Flutter** | `ChattyVoiceScreen(botId: '...')` | `ChattyClient.createVoiceToken(...)` | | **React Native** | `` | `ChattyClient.createVoiceToken(...)` | | **Iframe Embebido** | `` | Vista de navegador aislada | --- ## Arquitectura El repositorio cuenta con una distribución estructurada: `frontend/` aloja la aplicación Next.js, el widget web y el lienzo de flujos visuales; `backend/` contiene la API FastAPI, los adaptadores omnicanal, los workers en segundo plano y las migraciones de base de datos. ### Arquitectura Dual-Engine Omnicanal ```mermaid flowchart TB subgraph INBOUND["Ingreso Omnicanal y Clientes"] direction LR WIDGET["Widget Web y Voz LiveKit"] WA["WhatsApp Cloud API"] META["Messenger e Instagram DM"] TT["TikTok Business Messaging"] TG["Telegram Bot"] SMS["Twilio SMS Bidireccional"] MAIL["Email de Soporte Entrante"] end subgraph GATEWAY["Pasarela de Ingestión y Seguridad"] direction TB HMAC["Autenticación Criptográfica (HMAC-SHA256 / Tokens)"] ACK["Respuesta Inmediata HTTP 200 OK (<40ms)"] QUEUE["Cola Asíncrona de Deduplicación y Eventos"] DLP["Depuración de PII y Datos Sensibles en Tiempo Real"] end subgraph CORE["Cerebro de Ejecución Dual"] direction LR subgraph FLOW["Runtime del Constructor de Flujos"] FNODES["Nodos de Flujo (@xyflow/react)"] FCOND["Enrutamiento por Tiempo y Condiciones"] FLEAD["Captura de Leads y Sincronización CRM"] FBOOK["Despacho de Citas de Calendario"] end subgraph BRAIN["RAG Multimodal y Razonamiento IA"] VECT["Búsqueda Semántica Híbrida pgvector"] KB["Documentos de Conocimiento (PDF/DOCX/CSV/TXT)"] WOO["API de Tienda y Pedidos WooCommerce"] LLM["LLMs BYOK (Gemini / Claude / GPT / Groq)"] end end subgraph TAKEOVER["Mesa de Operadores en Vivo"] direction TB SSE["Flujo de Eventos SSE en Tiempo Real"] INBOX["Bandeja de Entrada Unificada y SLAs"] HUMAN["Takeover por Agentes Humanos con 1 Clic"] end subgraph OUTBOUND["Normalizador de Canales y Salida"] direction LR OUT_WA["WhatsApp: Ventana 24h y Plantillas"] OUT_TT["TikTok: Botones Rápidos (Máx 3)"] OUT_TG["Telegram: Teclados Inline Dinámicos"] OUT_SMS["SMS: Opciones Numéricas y Opt-out TCPA"] OUT_MAIL["Email: Respuestas Limpias en Hilo"] OUT_WEB["Widget: Markdown Streamdown y Tarjetas"] end INBOUND --> GATEWAY HMAC --> ACK ACK --> QUEUE QUEUE --> DLP DLP --> CORE CORE <--> TAKEOVER CORE --> OUTBOUND TAKEOVER --> OUTBOUND ``` ### Arquitectura de Componentes y Datos ```mermaid flowchart TB classDef actor fill:#f8fafc,stroke:#64748b,color:#0f172a classDef edge fill:#eff6ff,stroke:#2563eb,color:#1e3a8a classDef app fill:#ecfdf5,stroke:#059669,color:#064e3b classDef data fill:#f0fdfa,stroke:#0f766e,color:#134e4a classDef integration fill:#fff7ed,stroke:#ea580c,color:#7c2d12 classDef deploy fill:#f5f3ff,stroke:#7c3aed,color:#4c1d95 subgraph clients["Clientes y Canales"] direction LR visitor(("Visitante Web")):::actor operator(("Agente de Soporte")):::actor omni["WhatsApp · Messenger · IG · TikTok · TG · SMS · Email · MCP"]:::actor end subgraph edge["Borde Público"] direction LR tls["TLS · Lista de Dominios Permitidos · Rate Limits"]:::edge web["Frontend Next.js 15+ (App Router)"]:::app end subgraph runtime["Runtime de Chatty"] direction LR api["Backend FastAPI · Motor de Flujos · RAG · Webhooks"]:::app mcp["Servidor FastMCP 81 Herramientas (OAuth 2.0 / API Keys)"]:::app end subgraph managed["Capa Gestionada de Supabase"] direction LR auth["Supabase Auth"]:::data postgres["Postgres + pgvector · Configs JSONB · RLS"]:::data storage["Supabase Storage (Documentos y Audio)"]:::data realtime["Supabase Realtime"]:::data end subgraph integrations["Servicios Externos"] direction TB llm["Proveedores LLM (Gemini / OpenAI / Anthropic / Groq)"]:::integration calendar["Google Calendar y Microsoft 365"]:::integration wooCommerce["API de Tienda WooCommerce"]:::integration voiceLiveKit["Malla de Audio WebRTC LiveKit"]:::integration end subgraph targets["Entornos de Despliegue"] direction LR docker["Docker Compose / VPS"]:::deploy railway["Railway"]:::deploy render["Render Blueprint"]:::deploy cloudrun["Google Cloud Run"]:::deploy end visitor --> tls operator --> web omni --> api tls --> web web -->|HTTPS| api api --> auth api --> postgres api --> storage api --> realtime api --> llm api --> calendar api --> wooCommerce api --> voiceLiveKit targets -. runs .-> runtime linkStyle default stroke:#64748b,stroke-width:1.5px ``` ``` chatty/ ├── frontend/ Next.js: panel de administración, widget integrable y cargador widget.js ├── backend/ FastAPI: API de chat, RAG, reservas, canales, OAuth y servidor MCP │ ├── app/ Rutas, módulos core (auth, seguridad, base de datos) y esquemas │ ├── plugins/ Integraciones (Google, Microsoft), RAG y orquestación del widget │ ├── supabase/ Esquema de base de datos y migraciones ordenadas │ ├── scripts/ apply_migrations.py y utilidades operativas │ └── tests/ Pruebas unitarias y de integración con pytest └── docker-compose.yml ``` --- ## 📋 Requisitos | Componente | Versión | Requerido para | |---|---|---| | [Docker](https://docs.docker.com/get-docker/) + Docker Compose | 24+ | Inicio rápido y despliegue estándar (método recomendado) | | [Python](https://www.python.org/downloads/) | 3.11+ / 3.13+ | Backend, para desarrollo local sin Docker | | [Node.js](https://nodejs.org/) | 20+ | Frontend, para desarrollo local sin Docker | | Cuenta en [Supabase](https://supabase.com) | Nivel gratuito | Base de datos (Postgres + Auth + Storage + Realtime) | | Clave de API de [Google AI Studio](https://aistudio.google.com/apikey) | Nivel gratuito | LLM predeterminado (Gemini) | --- ## ⚡ Despliegue en la Nube con 1 Clic (Render y Railway) Despliega Chatty directamente en la nube sin necesidad de gestionar servidores:

Deploy to Render   Deploy on Railway

Chatty utiliza una **arquitectura gestionada con Supabase** (los contenedores se ejecutan en Render/Railway, mientras que Auth, Postgres, Storage y Realtime se mantienen gestionados en Supabase). Antes o después de hacer clic en desplegar, completa estos 3 pasos rápidos: 1. **Crear un Proyecto Gratuito en Supabase:** Ve a [supabase.com](https://supabase.com), crea un proyecto gratuito y copia tu **Project URL**, clave **`anon` pública**, clave **`service_role` secreta** y la **cadena de conexión a la base de datos** en Project Settings. 2. **Aplicar Migraciones de la Base de Datos:** Ejecuta el script de migración una vez para inicializar las más de 67 tablas e índices vectoriales: ```bash cd backend && pip install psycopg2-binary python scripts/apply_migrations.py "postgresql://postgres:TU_CONTRASEÑA@TU_HOST:5432/postgres" ``` *(O ejecuta los archivos SQL en `backend/supabase/migrations/` directamente en el editor SQL de Supabase)*. 3. **Obtener Clave Gratuita de Gemini API y Configurar Variables:** Obtén una clave en [aistudio.google.com/apikey](https://aistudio.google.com/apikey). Cuando Render o Railway soliciten variables de entorno, ingresa `SUPABASE_URL`, `SUPABASE_SECRET_KEY`, `GEMINI_API_KEY`, `NEXT_PUBLIC_SUPABASE_URL` y `NEXT_PUBLIC_SUPABASE_ANON_KEY`. --- ## 🚀 Inicio Rápido (Docker Compose) ```bash git clone --recurse-submodules https://github.com/PersonaliAI/chatty.git cd chatty # 1. Aplica las migraciones a tu proyecto de Supabase previamente creado cd backend && pip install psycopg2-binary python scripts/apply_migrations.py "postgresql://postgres:YOUR_PASSWORD@YOUR_HOST:5432/postgres" cd .. # 2. Configura las variables de entorno cp backend/.env.example backend/.env # completa las credenciales de Supabase y Gemini cp frontend/.env.example frontend/.env # completa la URL de Supabase y anon key cp .env.example .env # mismos valores NEXT_PUBLIC_* (usados durante el build) # 3. Inicia los contenedores docker compose up --build backend frontend ``` - **Panel de control**: `http://localhost:3000` — regístrate, crea tu bot y obtén el código de inserción del widget. - **API Backend**: `http://localhost:8000` (documentación interactiva en `http://localhost:8000/docs`). --- ## Servidor MCP y Control de Agentes Chatty incluye un servidor oficial compatible con la especificación [Model Context Protocol (FastMCP)](https://modelcontextprotocol.io), permitiendo controlar toda la plataforma conversacionalmente desde Claude Desktop, Cursor, Codex o Antigravity: - **Autenticación**: Flujo OAuth 2.0 con PKCE (RFC 7636) y compatibilidad con API Keys (`chatty_sk_...`). - **81 herramientas** distribuidas en 12 categorías: ciclo de vida de bots, personalización visual, constructor de flujos, campañas proactivas, base de conocimientos RAG, bandeja de entrada omnicanal y takeover, reservas de reuniones, analítica de desviación, configuración BYOK y Voice Studio. - **Recursos en vivo**: Configuración de voz vía `chatty://bots/{bot_id}/voice-config` y capturas del panel vía `chatty://dashboard/screenshots`. ```json { "mcpServers": { "chatty": { "url": "https://your-backend-domain/mcp" } } } ``` --- ## 🇪🇺 GDPR y Privacidad de Datos Empresarial Chatty está diseñado para cumplir de forma estricta con el **Reglamento General de Protección de Datos de la UE (RGPD / GDPR)**: * **Depuración Automática de PII (DLP):** Filtra y enmascara en tiempo real números de tarjetas de crédito validados con Luhn, números de Seguro Social (SSN), tokens Bearer y cuentas bancarias europeas IBAN (ISO 7064) en el widget web y en todos los canales omnicanal. * **Derecho al Olvido (Art. 17):** Endpoint administrativo `DELETE /api/admin/inbox/contacts/{id}` con procedimiento almacenado `chatty_erase_contact()`, y botón de autoeliminación de sesión directamente dentro del widget para el visitante. * **Aislamiento Criptográfico:** Credenciales BYOK y tokens cifrados en reposo mediante Fernet (AES-128-CBC + HMAC-SHA256). * **Garantía Cero Entrenamiento:** Las conversaciones y documentos de los usuarios nunca se utilizan para entrenar modelos base de IA públicos. --- ## 🔒 Seguridad Si descubres una posible vulnerabilidad de seguridad, por favor **no abras un issue público**. Utiliza el mecanismo confidencial en la pestaña **Security → Report a vulnerability** del repositorio en GitHub. ## 🤝 Contribuciones ¡Las contribuciones son bienvenidas! Consulta [CONTRIBUTING.md](CONTRIBUTING.md) para ver la guía de desarrollo local y las áreas prioritarias de colaboración. ## 📄 Licencia Este proyecto se distribuye bajo la [Licencia MIT](LICENSE). Puedes usarlo, modificarlo e integrarlo libremente. ---
⭐ Si Chatty te resulta útil, dale una estrella al repositorio en GitHub