SYNTHEKOS.USING IT · FOR ADMINS ← How to use
For administrators

Administering SYNTHEKOS

As an administrator you decide who exists, what each can do, what they can see, and how they reach it. Everything is off by default and granted deliberately. This is the operational tour; the full detail lives in the Operator Manual.

Users & capabilitiesPortalsKiosksCorpusProceduresAuditMachines
01 · PEOPLE & CAPABILITIES

Create people, grant only what they need

Admin → Create a record. Every identity — person, machine (euser), or portal — is governed the same way. Capabilities are all off by default and can never be self‑granted.

synthekos · /admin
Users & identities 1
reception · userGrounded 2no uploadno learn
bay-tech · userGroundeduploadlearn 3
data-bot · euserGrounded · machineAPI key 4
  1. 1One screen lists every identity; each row's Edit opens its dials.
  2. 2Answer mode is set per person (§2) — leave field users on Grounded.
  3. 3Capabilities: Self‑administer (edit own prompt/label), Upload docs, Switch answer mode, and Learn (teach) — each off by default, each independent. Your "no" is absolute.
  4. 4A machine identity (euser) carries a Bearer API key (shown once), never a password (§6).
Interface

Chat, avatar, or both

Per person: Chat only (the default), Avatar only (a full‑screen speaking face), or Chat or Avatar (an Avatar link in the chat header). The face uses the same documents, answer mode and audit as their chat, and keeps its own conversation thread.

Global corpus

Use, or own documents only

Use (the default): their own documents plus the shared global corpus. Do not use: only the documents on their record and what they have been taught — right for an assistant about one thing (a farm, a product, a property). The list shows it as own corpus only.

AI model

One default, or a model per record

Set the box default model on the Admin page — it applies to the next answer, no restart. Or give one record its own model (a coding model for a developer, say); it works for people, machines, portals and kiosks. Only chat models installed on the box are offered, a user can never choose their own, and every answer records which model wrote it. Test a model on your own documents before relying on it — not every model follows the grounding rules equally well.

Groups

Keep a long list in order

Sort records into groups — folders such as Test users, Staff or Kiosks, up to three levels. Tick records and move them, or create a record straight inside a group. Groups only organise the Admin list: they change nothing about answers, documents, settings or access.

02 · ANSWER MODE

Grounded, hybrid, or floating

Default

Grounded

Answers only from retrieved documents; otherwise abstains. No world knowledge, no guessing. Use it for anything that matters.

Documents first

Hybrid

Facts — names, dates, numbers, quotations — only from the documents, cited; where they are silent it may add general knowledge and says so. With nothing in the documents, the answer is labelled “from general knowledge”, with no source; a number not in the documents is flagged ⚠, never hidden. Good for research, study and personas; not for field procedures.

Use with care

Floating

May also answer from the model's own knowledge, without labelling it. (The public site calls this mode Open.) It can contradict your documents — never put a field user in floating mode.

The mode is shown to the user as a badge and recorded against every answer, so an audit can tell a sourced answer from an improvised one. Leave User may switch answer mode off for serious work. Set it in Admin › Edit › Answer mode; for a kiosk, kiosk-create.js --grounding grounded|hybrid|floating. A user allowed to switch clicks the badge: Grounded → Hybrid → Floating. (+Web works with every mode — next.)

02B · +WEB AUGMENTATION

Letting it reach the internet — on purpose

Everything else assumes the box is sovereign and can run offline. +Web is the one deliberate exception. When you grant it, a question the corpus can't answer is sent to your self-hosted SearXNG and the answer may draw on public web pages — the assistant behaves more like an ordinary AI, but still cites every web page by URL (a clickable blue link, recorded in the audit). It is the only feature that lets a query leave the box, so grant it deliberately and never on a field or safety-critical account. A public portal can never be granted it.

Grant

Web augmentation

The capability itself. Off by default, per account, never self-granted.

When it fires

Web trigger

Fallback — only when the corpus finds nothing. Augment (default) — also when the corpus is thin. Always — every question.

Who controls it

User may control

If allowed, the user gets an on/off Web badge in chat (a session toggle) and may pick their own trigger. Otherwise your settings are fixed.

Setup (one-time): run a SearXNG instance on the box or LAN (no API key, no per-query billing), set SEARXNG_URL in .env, and restart. Kill-switch: WEB_SEARCH_DISABLE=1 forces all web egress off regardless of grants. With SEARXNG_URL unset, +Web silently stays corpus-only — it never errors.

Internet‑status safety light. Every chat header shows a box‑level indicator — green Offline (sovereign, no internet reachable) or amber Internet LIVE (the box can currently reach the web). It's a read‑only truth signal, not a user switch: a user can turn their +Web off, but only the box/admin can take the whole system offline (kill‑switch above, or stop SearXNG). A truly air‑gapped box has no SEARXNG_URL, never probes out, and always reads Offline.

03 · PORTALS

Publish a group or public assistant

A portal is an assistant reached at /a/<slug> by a group or public audience instead of by individual login — a class, a department, customers. It's just another identity, so it reuses persona, corpus, grounding and audit, and it is capability‑capped by construction: it can only answer, never reach an admin screen or another portal's documents.

synthekos · /admin/portals
Create a portal
URL slug 1/a/helpdesk
Access 2Open · Link token · Shared password
Answer modeGrounded (locked)
Include global corpus? 3No — its own docs only
  1. 1Pick a slug → the portal lives at /a/<slug>.
  2. 2Three ways in: Open (no login — kiosks/closed LAN), Link token (a one‑time link for a known group), Shared password (a class or department).
  3. 3A portal sees only its own documents unless you opt into the global corpus. Give it documents from its Edit → Documents panel.
On the LAN a portal needs no extra hardening. On the public internet, put it behind a reverse proxy / tunnel with real TLS and complete the deployment hardening first (§6, and the Operator Manual). Keep a public portal's corpus non‑sensitive.
03B · KIOSKS

A walk-up face for visitors

A kiosk is a portal with a face: a full‑screen assistant at /k/<slug> that visitors talk to or type at — a reception desk, a showroom, a home for sale. Same grounding, truth gate and audit; capability‑capped like any portal. It forgets each visitor: after a period of no use it clears the conversation and returns to its start screen.

Greets & hands off

The front-desk routine

Hello, thanks and goodbye are answered politely — fixed words, never facts. Real questions come from its documents. With a hand‑off line set, a question it can't answer becomes "I don't have that information. Please ask the agent."

Presence

Notices people

Off by default; motion (light, any device) or face (precise; falls back to motion). It greets whoever walks up, and after 30 s (adjustable) with nobody there it closes the microphone, clears the conversation and waits.

Privacy

The camera stays local

Presence is decided inside the kiosk's own browser. No picture or video is recorded or sent; the box is never told. The start screen says so and a Camera: presence only tag shows while it's on.

Create or update one with a single command on the box (re‑running it updates the same kiosk and keeps its link):

# a grounded kiosk for one listing, greeting on arrival, handing off to the agent
node kiosk-create.js --live --slug unit-804 --label "Front Desk" \
  --docs /path/to/listing --global no --listen continuous \
  --greeting "Hello, welcome. I can answer questions about this home." \
  --handoff "Please ask the listing agent." --presence motion --presence-empty 30
A kiosk needs https for its microphone and camera, and one tap after the page loads (that tap also unlocks sound). By default it opens with a private link shown once — keep it. Its settings live in the identity's Config info as {"kiosk":{…}}, so they can also be edited in Admin.
04 · THE CORPUS

Load what it answers from

Global vs. per‑identity

Admin → Global corpus is the shared base every user can draw on. Each person/portal can also have its own documents (their Edit → Documents panel). A person set to Global corpus: Do not use answers from their own documents only and cannot open global ones; portals and kiosks have the same choice.

Upload & index

Add .txt/.md/.pdf; each goes queued → indexing → ready · N chunks. Text‑based PDFs only — a scanned image PDF has no text and shows failed.

Enable / disable

Toggle any document in or out of answers without deleting it — its chunks stay embedded but are withheld from retrieval.

05 · PROCEDURES

Verified, step-by-step guidance

A procedure is a signed .synth file — human‑verified, played back one step at a time. It is never chunked, embedded, or authored by the AI; that structural isolation is what keeps it trustworthy.

Authoring

Use synthc

Compile and sign a procedure from a real manual. The runtime rejects bad schema, gaps, or a critical step without a confirmation, and warns on unsigned files.

Safety

Critical‑step gate

A dangerous step will not advance until the user confirms — enforced by the box, and the confirmation is recorded.

Audit

Run state is the record

Every step, question and confirmation is logged; a run resumes exactly where it was left.

06 · LEARN GOVERNANCE

Let people teach it — on your terms

Grant the Learn capability per user (off by default). What they teach is written to their own corpus as an ordinary, cited, editable document — never fine‑tuning, so it's transparent and reversible. Every teaching carries who taught it and when ("Told by John on 2026‑10‑03"), and every save and forget is logged.

What they get

Teach + My knowledge

A Teach page (/learn) and a "Teach this" button on messages; a "My knowledge" panel to edit or delete anything they've taught. In the avatar they can also teach by voice — "remember that…" — and it always reads the fact back and asks before saving.

Your oversight

Review / edit / delete

You can review, edit and delete any user's learned items — Admin → Edit shows a Learned items panel (they also appear in that user's Documents panel). Deletions remove the chunks — it can never be cited again.

07 · MONITORING & AUDIT

Watch what it's doing

Admin → Status shows health and an abstention rate — how often it honestly said "I don't have that." A rising rate tells you what your audience is asking that the documents don't yet cover. Every question, answer and cited source is in the message log — likely your most valuable artifact.

The abstention list is a to‑do list for your corpus: it's the questions people asked that you haven't answered yet.
08 · MACHINE ACCESS (EUsers)

Let devices and apps ask

An euser is a machine identity: create it, generate its API key (shown once), and it queries POST /api/ask with a Bearer key — getting the same grounded, cited answers, or an honest empty‑sources abstention it can act on.

# a device asks, with its key
{ "prompt": "What torque for the coolant flange bolts?" }
→ { "answer": "42 newton-metres.", "sources": ["KESTREL-7-manual.pdf"], "grounding": "grounded" }
# nothing loaded covers it → honest, machine-actionable abstention
→ { "answer": "I don't have that in the loaded materials.", "sources": [], "grounding": "grounded" }

Keep the key server‑side (never in browser JavaScript). Over a public tunnel, gate the hostname with Cloudflare Access and add a service token so the machine can pass the edge, plus a WAF rate‑limit on /api/ask.

09 · DEPLOY

Run it where you need it

Offline

Sealed box

Air‑gapped. Pull the cable — it still answers.

On‑prem

Local server

On your hardware, served across the LAN.

Cloud

Private cloud

A server you control, reached over a secure tunnel — no open router ports.

Hybrid

Online

Local corpus + model, reachable anywhere, gated by you.

Want the full detail?

The Operator Manual covers install, TLS, backups, and the honest security state.

Capabilities PDF ↓