Perslis Accessibility
04 / MODELS & PRIVACY

Bring your own model. Online or offline is your call.

The runtime is model-centric: it owns the conversation, not the intelligence behind it. Point it at the model you already pay for, one you run yourself, a board you authored, or the local model included with it — and switch between them without changing your app.

THE ADAPTERS

Six ways to answer, one conversation engine.

Every adapter produces the same choices, drafts and delivery IDs, so your tiles, your artwork and your speech engine never change when the model does.

ProviderWhat it isNetwork
geminiGoogle's models, using your own key from the host environment.Online
ollamaAny model you have already installed with Ollama, on your machine or your network.Your choice
compatibleAny OpenAI-compatible endpoint you run or pay for.Your choice
tinkymindThe included local child model. Runs on the CPU with no connection.Offline
boardTiles you author yourself. No generative model at all.Offline
your ownA provider.generate() adapter you write.Your choice

/providers lists them in the console and /provider NAME switches, saving the connection for next launch. The runtime ships adapters, never weights, and downloads no models.

THE INCLUDED LOCAL MODEL

TinkyMind, when you want nothing on the wire.

A 24 MB ONNX model pack running on the CPU with Python NumPy and ONNX Runtime. It is the option for a device that must keep working with the cable out — not the only way to run the system.

tinkyspeak --provider tinkymind --offline --language en --partner-language en

Each request uses a bounded local worker that exits after inference. Switching providers or quitting stops active workers, and the adapter writes no transcript. --offline locks out cloud connections entirely.

What this particular checkpoint covers

English on both sides, including English locale variants; a multilingual history needs a reset before switching to it. It is a child-trained checkpoint, so an adult profile belongs on one of the other adapters. Those are properties of this one model, not of the runtime — the conversation engine, its memory and its two-way flow work the same whichever provider you select.

VERIFIED, NOT ASSERTED

The offline claim is tested under a network-denying rule.

node scripts/check-tinkymind.mjs runs the installed CLI under a macOS rule that denies all network access, and exercises model and language picking, real generation, explicit delivery, follow-up history, reset, and refusal to switch to Spanish or the cloud. Its transcript and check record ship with the runtime.

PRIVACY BY CONSTRUCTION

What the runtime keeps, and for how long.

01

No conversation logging

None is built into the runtime. No conversation request bodies are logged by the server.

02

Memory is in-memory

Each session holds a bounded history, 40 turns by default. Idle sessions expire after 30 minutes; a restart clears them.

03

Images are not retained

Bytes exist only during the request. Snapshots keep hashes, type, size and observations.

04

Settings are not training

Changing a profile or a language is configuration. It is not model training and not permanent personal memory.

05

Keys stay on the host

A remote provider key is named by configuration and kept in the server environment, never in a request from an app user.

06

Your provider is your business

A model you choose has its own data handling. Choosing a local adapter avoids the question entirely.

ContinueGet a key