Glossary
A common vocabulary to understand Shara’s documentation, organized into topic blocks. Each term links, where applicable, to the guide where it’s covered in depth. Missing a concept? Write to us at support@aiginer.com.
The glossary is split into blocks: consumption and billing, agents and orchestration, models, security and control, integration (API, webhooks, connectors) and operation (multi-tenant, auditing, licensing). Terms marked with a link have a dedicated guide; the rest are defined here in a self-contained way.
Consumption and billing
Section titled “Consumption and billing”Shara bills for abstract consumption: you never pay for “a provider’s tokens”, but for a single, stable unit of your own. This decouples your invoice from the specific model used underneath and from market price changes.
| Term | Definition |
|---|---|
| STU (Shara Token Units) | The client’s single unit of consumption, independent of the model used underneath. All agent activity (reasoning, tool calls, generation) is counted in STU according to an internal conversion table. You pay STU, not a specific provider’s tokens. See STU and quotas. |
| Quota | The volume of STU included in your plan each monthly cycle. While you consume within the quota there are no extra charges. The quota renews at the start of each billing period. |
| Overage | STU consumed above the monthly quota. Billed at a fixed, predictable rate by plan, with no surprise price jumps. If you don’t want overage, the kill-switch cuts off before you exceed the limit you configure. |
| Rollover | Carrying over unconsumed STU to the next month. It has a 20% cap of the monthly quota and the carried-over STU expire after 2 months. Only available on cloud plans; Concerto Local doesn’t consume cloud quota, so rollover doesn’t apply. |
| Power-mode / low-spending | Automatic saving mode outside your operating hours: it downgrades the default model alias so it doesn’t drive up cost when no one is working. Configured by time slots. |
| Self-paying / auto-paying API | The mechanism by which Shara pays for model usage on your behalf and presents it to you consolidated in STU. You don’t manage provider keys or external balances: Shara absorbs that complexity and bills you a single, predictable line. |
Mental rule: quota is what you’ve already paid, overage is what you pay extra if you go over, and rollover is what you rescue from a slow month. The kill-switch is the brake that prevents surprises.
Agents and orchestration
Section titled “Agents and orchestration”Shara isn’t a single chatbot: it’s a team of specialized agents coordinated by an orchestrator. The client talks to just one; the rest work in the background. See Agents.
| Term | Definition |
|---|---|
| Amadeus / orchestrator | The only agent that talks to the CEO (the human user). It receives the request, decides which specialists get involved, coordinates them in the background and consolidates a single response. It’s the entry and exit point of every conversation. |
| Departmental agent | Each of the 20 specialists (Carlzon, Carnegie, Graham…) covering an area of the company (sales, support, finance, legal, etc.). Works under Amadeus’s orders and never talks directly to the user. See Agents. |
| escalate_to_amadeus | The escalation tool: when a departmental agent detects that a request exceeds its scope, requires coordinating with another department or needs a higher-level decision, it returns it to Amadeus for re-orchestration. It’s the mechanism that keeps control centralized. |
| Run | An individual execution of an agent: a call with its input, its context, the tools it invokes and its output. Every run is counted in STU and logged in the audit log. A single user conversation can generate several chained runs. |
| IDENTITY.md | The corporate identity (tone, values, brand rules, do/don’t) injected into every interaction of every agent. It evolves via incremental PATCH (rules are added or adjusted) and never by full replacement, so as not to lose the accumulated judgment history. |
| Approvals | The human approval inbox. Any action with relevant effects (sending an email, running an automation, modifying external data) stays pending your sign-off before executing. Approvals expire: if not decided in time, they expire and the action is aborted. See What Shara is. |
Models (aliases) and no lock-in
Section titled “Models (aliases) and no lock-in”Shara never exposes the real provider behind a model. It works with stable aliases that abstract power and cost, so we can swap providers underneath without your integration or your invoice ever knowing. See No vendor lock-in.
| Alias | What it’s for |
|---|---|
| Prelude | Light and cheap tier. Fast tasks, classification, simple extractions, short replies. The cheapest in STU. |
| Sonata | Balanced tier. The workhorse for most office tasks: drafting, summaries, standard support. |
| Symphony | High tier. Complex reasoning, multi-step analysis, tasks that need more context and precision. |
| Concerto | Models that run locally, on the Concerto Local plan (on-premise). Don’t consume cloud STU quota because inference happens on your own infrastructure. |
| Term | Definition |
|---|---|
| Model alias | The public name of a model (Prelude, Sonata, Symphony, Concerto). Hides the real provider, avoids lock-in and lets Shara optimize cost/quality without breaking your flow. You don’t choose the provider; you choose (or let Amadeus choose) the alias suited to the task. |
| Model tier | The alias level used in a specific run. Decided by Amadeus based on task complexity, not the client; the client can set ceilings or preferences, but the fine-grained assignment is automatic. |
| No lock-in | The guarantee that you don’t end up tied to a provider. Since you only ever see aliases, Shara can replace the underlying engine with a better or cheaper one without anything changing on your side. See No vendor lock-in. |
Security and spending control
Section titled “Security and spending control”Control isn’t optional: Shara is designed so that nothing important ever runs without supervision and spending never spikes without a brake. See What Shara is.
| Term | Definition |
|---|---|
| Kill-switch | Automatic, multi-level spending cut: per run, per hour and per day. If an execution (or a chain of them) runs away and exceeds the limit you configured, Shara stops it in its tracks before it keeps consuming STU. It’s your insurance against loops and unexpected loads. |
| Audit log | The immutable, append-only record of every run: input, agent, alias used, tools invoked, output and cost in STU. It chains a hash between records (blockchain-style) so any tampering with the history is detectable. It’s the foundation of traceability and compliance. |
| Approvals | See the “Agents and orchestration” block. In terms of control: no action with an external effect executes without going through the inbox; pending ones expire if not decided, and the expiry is logged. |
| DPA | Data Processing Agreement. Without an accepted DPA, agents don’t process personal data. It’s the contract that governs how Shara handles data on behalf of your organization. See No vendor lock-in. |
Integration: public API
Section titled “Integration: public API”The public API is the surface an external developer uses to integrate Shara with their systems. It authenticates with an API key and applies usage limits. See API and Connectors.
| Term | Definition |
|---|---|
| API key | The credential that authenticates your calls to Shara’s API. Issued per workspace, sent in the Authorization header, can be revoked and rotated, and must never be exposed in client code or repositories. Each key hangs off a tenant and respects its rate-limit. |
| Rate-limit | The request limit per unit of time (RPM) that protects the service. If you exceed it, the API responds 429 Too Many Requests. On inbound webhooks the limit applies per IP and is configurable per webhook (60 RPM by default). |
| Idempotency | The guarantee that resending the same request doesn’t duplicate it. You identify the event with a unique id (e.g. X-SHARA-Event-Id); if Shara already processed it, it returns the previous result instead of running it again. Essential for safe retries after a timeout. |
# Example of an API-key-authenticated call (Authorization header)
curl -X POST https://api.aiginer.com/v1/messages \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"input": "Summarize the latest support ticket and suggest a reply.",
"idempotency_key": "req_2026-06-16_001"
}'
Integration: signed inbound webhooks
Section titled “Integration: signed inbound webhooks”Shara exposes signed inbound webhooks: an external system (your CRM, a form, another automation…) signs an event and POSTs it to Shara, which verifies the signature and hands it to the configured agent. There are no outbound webhooks via event subscription: the model is external → Shara, not the other way around.
| Term | Definition |
|---|---|
| Webhook (inbound) | A Shara HTTP endpoint that an external system sends events to. Each webhook has its own slug that identifies it and routes the event to the right agent. Created from the workspace panel and authenticated only by HMAC signature (no JWT or cookie). |
| HMAC signature | The cryptographic seal proving the event comes from who it claims and hasn’t been altered. Shara computes HMAC-SHA256 (or SHA512) over the raw body in bytes with a per-tenant secret, and compares in constant time (timingSafeEqual). With no secret configured, it rejects everything (fail-closed). |
| Anti-replay window | The time interval during which a signature is valid: ±300 seconds, with 60 s clock skew tolerance. The timestamp header prevents someone from reusing a captured request (replay). Validated before the HMAC to avoid wasting CPU or giving timing hints. |
| Per-tenant secret | Every webhook has its own signing secret, encrypted at rest and used only at verification time. There’s no global secret shared between clients: isolation is per tenant. |
The public endpoint and its canonical headers:
POST /webhooks/inbound/{slug}
Content-Type: application/json
X-SHARA-Signature: <hmac-hex> # signature of the raw body (HMAC-SHA256 by default)
X-SHARA-Timestamp: <unix-seconds> # anti-replay (±300 s); required if the webhook declares it
X-SHARA-Event-Id: <unique-id> # idempotency (X-Event-Id, X-Request-Id… also accepted)
Body example (you define it; Shara verifies it, audits it and delivers it to the agent):
{
"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"
}
Correct response (200) and idempotent variant when you resend the same X-SHARA-Event-Id:
// 200: event accepted and queued for the agent
{ "ok": true, "code": "ok", "eventId": "8b1d…-uuid", "runId": "run_…-uuid" }
// 200: duplicate: Shara already processed it, doesn't run again
{ "ok": true, "code": "duplicate", "eventId": "8b1d…-uuid" }
Possible errors (without leaking internals):
| HTTP | error | Cause |
|---|---|---|
| 400 | payload_invalid / invalid_body | Invalid JSON or the destination template doesn’t render. |
| 401 | signature_invalid | Missing or incorrect signature, unsupported scheme, or timestamp out of window/missing. |
| 404 | webhook_not_found / webhook_unavailable | Non-existent, paused or revoked slug. |
| 413 | payload_too_large | Body larger than 1 MB (default limit). |
| 429 | rate_limited | Rate-limit per IP exceeded (RPM configurable per webhook). |
How to sign it on the sending side (Node). The HMAC is calculated over the exact raw body you’re about to send, not over a re-serialized JSON:
import { createHmac } from 'node:crypto';
const secret = process.env.SHARA_WEBHOOK_SECRET; // per-tenant secret, never in the client
const rawBody = JSON.stringify(payload); // the SAME bytes you send
const timestamp = Math.floor(Date.now() / 1000); // unix-seconds, for anti-replay
const signature = createHmac('sha256', secret)
.update(rawBody)
.digest('hex'); // lowercase hex, 64 chars
await fetch('https://api.aiginer.com/webhooks/inbound/my-slug', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-SHARA-Signature': signature,
'X-SHARA-Timestamp': String(timestamp),
'X-SHARA-Event-Id': payload.id, // idempotency
},
body: rawBody,
});
Retries: Shara doesn’t retry ingestion; it responds synchronously. If you get a
5xxor a timeout, you retry, reusing the sameX-SHARA-Event-Id: idempotency guarantees the execution isn’t duplicated.
Integration: connectors
Section titled “Integration: connectors”| Term | Definition |
|---|---|
| Connector | A specific way to connect Shara with your systems: Desktop Agent, Server Agent, inbound webhooks and MCP gateway. Each connector brings its own authentication and isolation guarantees. See Connectors. |
| Universal connector | The overall approach: Shara offers a generic path to integrate practically any system with no custom development, combining the connectors above. The idea is that “if it has an API or a webhook, it can be connected”. |
Operation: multi-tenant and licensing
Section titled “Operation: multi-tenant and licensing”| Term | Definition |
|---|---|
| Tenant (multi-tenant) | Your client organization. Shara is multi-tenant: a single platform serves many clients with strict isolation of data across several layers (database and application level). One tenant’s data, webhook secrets, API keys and STU consumption never cross over with another’s. |
| Licensing service (Ed25519, 30-day grace) | The service that validates the license of deployments that aren’t permanently online (mostly Concerto Local). Licenses are signed with Ed25519 (elliptic curve signature, verifiable without contacting the server) and have a 30-day grace period: if the installation loses connectivity with the licensing service, it keeps operating for up to 30 days before requiring revalidation. |
| Concerto Local / on-premise | Shara’s deployment on your own infrastructure (your own servers or private cloud), instead of the managed cloud. Everything runs on-premise (database, agents and Concerto inference) with no cloud component, for €999/month. Built for those who need data to never leave their perimeter. Its consumption and licensing model differs from the cloud one (see Licensing service and Concerto Local). |
Looking for a concept in more depth? Start with What Shara is, STU and quotas, API or Connectors.