Glosario

Un vocabulario común para entender la documentación de SHARA, ordenado por bloques temáticos. Cada término enlaza, cuando aplica, con la guía donde se desarrolla a fondo. Si echas en falta algún concepto, escríbenos a soporte@aiginer.com.

El glosario está dividido en bloques: consumo y facturación, agentes y orquestación, modelos, seguridad y control, integración (API, webhooks, conectores) y operación (multi-tenant, auditoría, licencias). Los términos marcados con un enlace tienen una guía dedicada; el resto se define aquí de forma autocontenida.

Consumo y facturación

SHARA factura por consumo abstracto: nunca pagas «tokens de un proveedor», sino una unidad propia y estable. Esto desacopla tu factura del modelo concreto que se use por debajo y de los cambios de precio del mercado.

TérminoDefinición
STU (SHARA Token Units)La unidad única de consumo del cliente, independiente del modelo usado por debajo. Toda la actividad de los agentes (razonamiento, llamadas a herramientas, generación) se contabiliza en STU según una tabla de conversión interna. Pagas STU, no tokens de un proveedor concreto. Ver STU y cuotas.
CuotaEl volumen de STU incluido en tu plan cada ciclo mensual. Mientras consumes dentro de la cuota no hay cargos adicionales. La cuota se renueva al inicio de cada periodo de facturación.
ExcedenteLos STU consumidos por encima de la cuota mensual. Se facturan a una tarifa fija y previsible según el plan, sin saltos de precio sorpresa. Si no quieres excedentes, el kill-switch corta antes de superar el límite que configures.
RolloverTraslado de STU no consumidos al mes siguiente. Tiene un techo del 20 % de la cuota mensual y los STU trasladados caducan a los 2 meses. Disponible solo en planes cloud; en el Plan Local el modelo de consumo es distinto.
Power-mode / low-spendingModo de ahorro automático fuera de tu horario operativo: hace *downgrade* del alias de modelo por defecto para no disparar coste cuando nadie está trabajando. Se configura por franjas horarias.
Self-paying / auto-paying APIEl mecanismo por el que SHARA paga el uso de los modelos por ti y te lo presenta consolidado en STU. Tú no gestionas claves de proveedores ni saldos externos: SHARA absorbe esa complejidad y te factura una sola línea previsible.
Regla mental: cuota es lo que ya pagaste, excedente es lo que pagas de más si te pasas, y rollover es lo que rescatas de un mes flojo. El kill-switch es el freno que evita sorpresas.

Agentes y orquestación

SHARA no es un único chatbot: es un equipo de agentes especializados coordinados por un orquestador. El cliente habla con uno solo; el resto trabaja en segundo plano. Ver Agentes y Arquitectura.

TérminoDefinición
Amadeus / orquestadorEl único agente que habla con el CEO (el usuario humano). Recibe la petición, decide qué especialistas intervienen, los coordina en segundo plano y consolida una sola respuesta. Es el punto de entrada y de salida de toda conversación.
Agente departamentalCada uno de los 20 especialistas (Carlzon, Carnegie, Graham…) que cubre un área de la empresa (ventas, soporte, finanzas, legal, etc.). Trabaja bajo las órdenes de Amadeus y nunca habla directamente con el usuario. Ver Agentes.
escalate_to_amadeusLa herramienta de escalado: cuando un agente departamental detecta que una petición excede su ámbito, requiere coordinar con otro departamento o necesita una decisión de nivel superior, la devuelve a Amadeus para que reorqueste. Es el mecanismo que mantiene el control centralizado.
RunUna ejecución individual de un agente: una llamada con su entrada, su contexto, las herramientas que invoca y su salida. Cada run se contabiliza en STU y queda registrado en el audit log. Una conversación del usuario puede generar varios runs encadenados.
IDENTITY.mdLa identidad corporativa (tono, valores, reglas de marca, do/don’t) que se inyecta en cada interacción de cada agente. Evoluciona vía PATCH incremental —se añaden o ajustan reglas— y nunca por reemplazo total, para no perder el histórico de criterio acumulado.
Aprobaciones (approvals)La bandeja de aprobaciones humanas. Toda acción con efectos relevantes (enviar un correo, ejecutar una automatización, modificar datos externos) queda pendiente de tu visto bueno antes de ejecutarse. Las aprobaciones tienen caducidad: si no se deciden a tiempo, expiran y la acción se aborta. Ver Seguridad.

Modelos (alias) y sin lock-in

SHARA nunca expone el proveedor real de un modelo. Trabaja con alias estables que abstraen la potencia y el coste, de modo que podemos cambiar de proveedor por debajo sin que tu integración ni tu factura se enteren. Ver Sin lock-in.

AliasPara qué sirve
PreludeNivel ligero y económico. Tareas rápidas, clasificación, extracciones simples, respuestas cortas. El más barato en STU.
SonataNivel equilibrado. El caballo de batalla para la mayoría de tareas de oficina: redacción, resúmenes, atención estándar.
SymphonyNivel alto. Razonamiento complejo, análisis multi-paso, tareas que requieren más contexto y precisión.
ConcertoNivel máximo. Reservado para los casos más exigentes; mayor coste en STU, usado con criterio por Amadeus.
TérminoDefinición
Alias de modeloEl nombre público de un modelo (Prelude, Sonata, Symphony, Concerto). Oculta al proveedor real, evita el *lock-in* y permite que SHARA optimice coste/calidad sin romper tu flujo. Tú no eliges el proveedor; eliges (o dejas a Amadeus elegir) el alias adecuado a la tarea.
Tier de modeloEl nivel de alias que se usa en un run concreto. Lo decide Amadeus según la complejidad de la tarea, no el cliente; el cliente puede fijar techos o preferencias, pero la asignación fina es automática.
Sin lock-inLa garantía de que no quedas atado a un proveedor. Como solo ves alias, SHARA puede sustituir el motor subyacente por uno mejor o más barato sin que cambie nada en tu lado. Ver Sin lock-in.

Seguridad y control de gasto

El control no es opcional: SHARA está diseñado para que nunca se ejecute algo importante sin supervisión ni se dispare el gasto sin un freno. Ver Seguridad.

TérminoDefinición
Kill-switchCorte de gasto automático y multinivel: por run, por hora y por día. Si una ejecución (o una cadena de ellas) se desboca y supera el límite que configuraste, SHARA frena en seco antes de seguir consumiendo STU. Es tu seguro contra bucles y cargas inesperadas.
Audit log (registro de auditoría)El registro inmutable y append-only de cada run: entrada, agente, alias usado, herramientas invocadas, salida y coste en STU. Encadena un hash entre registros (estilo cadena) para que cualquier manipulación del histórico sea detectable. Es la base de la trazabilidad y el cumplimiento.
Aprobaciones (approvals)Ver bloque «Agentes y orquestación». A efectos de control: ninguna acción de efecto externo se ejecuta sin pasar por la bandeja; las pendientes expiran si no se deciden, y la expiración queda registrada.
DPAAcuerdo de Tratamiento de Datos (*Data Processing Agreement*). Sin DPA aceptado, los agentes no procesan datos personales. Es el contrato que regula cómo SHARA trata los datos en nombre de tu organización. Ver Seguridad.

Integración: API pública

La API pública es la superficie que usa un desarrollador externo para integrar SHARA con sus sistemas. Se autentica con API key y aplica límites de uso. Ver API y Conectores.

TérminoDefinición
API keyLa credencial que autentica tus llamadas a la API de SHARA. Se emite por workspace, se envía en la cabecera Authorization, puede revocarse y rotarse, y nunca debe exponerse en código cliente ni en repositorios. Cada key cuelga de un tenant y respeta sus límites de rate-limit.
Rate-limitEl límite de peticiones por unidad de tiempo (RPM) que protege el servicio. Si lo superas, la API responde 429 Too Many Requests. En webhooks entrantes el límite se aplica por IP y es configurable por webhook (por defecto 60 RPM).
IdempotenciaLa garantía de que reenviar la misma petición no la duplica. Identificas el evento con un id único (p. ej. X-SHARA-Event-Id); si SHARA ya lo procesó, devuelve el resultado anterior en lugar de ejecutar de nuevo. Esencial para reintentos seguros tras un timeout.
bash
# Ejemplo de llamada autenticada con API key (cabecera Authorization)
curl -X POST https://api.shara.aiginer.com/v1/messages \
  -H "Authorization: Bearer sk_live_TU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "input": "Resume el último ticket de soporte y propón respuesta.",
    "idempotency_key": "req_2026-06-16_001"
  }'

Integración: webhooks entrantes firmados

SHARA expone webhooks entrantes firmados: un sistema externo (tu CRM, un formulario, n8n…) firma un evento y lo POSTea a SHARA, que verifica la firma y se lo entrega al agente configurado. No existen webhooks salientes por suscripción de eventos: el modelo es externo → SHARA, no al revés.

TérminoDefinición
Webhook (entrante)Un *endpoint* HTTP de SHARA al que un sistema externo envía eventos. Cada webhook tiene un slug propio que lo identifica y enruta el evento al agente correcto. Se crea desde el panel del workspace y se autentica solo por firma HMAC (no usa JWT ni cookie).
Firma HMACEl sello criptográfico que prueba que el evento viene de quien dice y no se ha alterado. SHARA calcula HMAC-SHA256 (o SHA512) sobre el cuerpo crudo en bytes con un secreto por tenant, y compara en tiempo constante (timingSafeEqual). Si no hay secreto configurado, rechaza todo (*fail-closed*).
Ventana anti-replayEl intervalo de tiempo en que una firma es válida: ±300 segundos, con tolerancia de desfase de reloj (*clock skew*) de 60 s. La cabecera de timestamp evita que alguien reutilice una petición capturada (*replay*). Se valida antes del HMAC para no malgastar CPU ni dar pistas de *timing*.
Secreto por tenantCada webhook tiene su propio secreto de firma, cifrado en reposo y usado solo en el momento de verificar. No hay un secreto global compartido entre clientes: el aislamiento es por tenant.

El endpoint público y sus cabeceras canónicas:

bash
POST /webhooks/inbound/{slug}
Content-Type: application/json
X-SHARA-Signature: <hmac-hex>      # firma del cuerpo crudo (HMAC-SHA256 por defecto)
X-SHARA-Timestamp: <unix-seconds>  # anti-replay (±300 s); obligatoria si el webhook la declara
X-SHARA-Event-Id: <id-único>       # idempotencia (también se aceptan X-Event-Id, X-Request-Id…)

Ejemplo de cuerpo (lo defines tú; SHARA lo verifica, lo audita y lo entrega al agente):

json
{
  "event": "lead.created",
  "id": "evt_9f2c1ab7",
  "occurred_at": "2026-06-16T09:30:00Z",
  "contact": {
    "name": "Marta Ruiz",
    "email": "marta@example.com",
    "phone": "+34600111222",
    "company": "Example SL"
  },
  "source": "landing-form"
}

Respuesta correcta (200) y variante idempotente cuando reenvías el mismo X-SHARA-Event-Id:

json
// 200 — evento aceptado y encolado para el agente
{ "ok": true, "code": "ok", "eventId": "8b1d…-uuid", "runId": "run_…-uuid" }

// 200 — duplicado: SHARA ya lo procesó, no ejecuta de nuevo
{ "ok": true, "code": "duplicate", "eventId": "8b1d…-uuid" }

Errores posibles (sin filtrar internals):

HTTPerrorCausa
400payload_invalid / invalid_bodyJSON inválido o la plantilla de destino no renderiza.
401signature_invalidFirma ausente o incorrecta, esquema no soportado, o timestamp fuera de ventana/ausente.
404webhook_not_found / webhook_unavailableSlug inexistente, pausado o revocado.
413payload_too_largeCuerpo mayor de 1 MB (límite por defecto).
429rate_limitedExcedido el rate-limit por IP (RPM configurable por webhook).

Cómo firmar desde el lado emisor (Node). El HMAC se calcula sobre el cuerpo crudo exacto que vas a enviar, no sobre un JSON re-serializado:

javascript
import { createHmac } from 'node:crypto';

const secret = process.env.SHARA_WEBHOOK_SECRET;     // secreto por tenant, nunca en el cliente
const rawBody = JSON.stringify(payload);             // los MISMOS bytes que envías
const timestamp = Math.floor(Date.now() / 1000);     // unix-seconds, para anti-replay

const signature = createHmac('sha256', secret)
  .update(rawBody)
  .digest('hex');                                    // hex en minúsculas, 64 chars

await fetch('https://api.shara.aiginer.com/webhooks/inbound/mi-slug', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-SHARA-Signature': signature,
    'X-SHARA-Timestamp': String(timestamp),
    'X-SHARA-Event-Id': payload.id,                  // idempotencia
  },
  body: rawBody,
});
Reintentos: SHARA no reintenta la entrada; responde síncrono. Si recibes un 5xx o un *timeout*, reintenta tú reusando el mismo X-SHARA-Event-Id: la idempotencia garantiza que no se duplique la ejecución.

Integración: conectores

TérminoDefinición
ConectorUna vía concreta para conectar SHARA con tus sistemas: Desktop Agent, Server Agent, webhooks entrantes y MCP gateway. Cada conector trae sus propias garantías de autenticación y aislamiento. Ver Conectores.
Conector universalEl planteamiento global: SHARA ofrece una vía genérica para integrar prácticamente cualquier sistema sin desarrollo a medida, combinando los conectores anteriores. La idea es que «si tiene una API o un webhook, se puede conectar».

Operación: multi-tenant y licencias

TérminoDefinición
Tenant (multi-tenant)Tu organización cliente. SHARA es multi-tenant: una sola plataforma sirve a muchos clientes con aislamiento estricto de datos en varias capas (a nivel de base de datos y de aplicación). Los datos, secretos de webhook, API keys y consumo de STU de un tenant nunca se cruzan con los de otro.
Licensing service (Ed25519, grace 30 días)El servicio que valida la licencia de despliegues que no están permanentemente online (sobre todo el Plan Local). Las licencias se firman con Ed25519 (firma de curva elíptica, verificable sin contactar al servidor) y disponen de un periodo de gracia de 30 días: si la instalación pierde conectividad con el servicio de licencias, sigue operando hasta 30 días antes de requerir revalidación.
Plan Local / on-premiseEl despliegue de SHARA en tu propia infraestructura (servidores propios o nube privada), en lugar del cloud gestionado. Pensado para quien necesita que los datos no salgan de su perímetro. Su modelo de consumo y licenciamiento difiere del cloud (ver Licensing service y Plan Local).
¿Buscas un concepto más a fondo? Empieza por Arquitectura, STU y cuotas, API, Conectores o Seguridad.
¿Algo que no encuentras? Escríbenos a hola@aiginer.com.