Local-first and bring your own models
Define the boundary before making the promise
Miton’s project files, conversations, goals, workflows and local indexes live on the machine running the desktop application. That is the local project boundary.
A hosted model request crosses the boundary. It sends the context needed for a turn to a provider the user connected and permitted. Calling the product local-first does not make that network request local. It means the crossing is explicit, constrained and inspectable.
A local provider keeps inference in its own local process. That can reduce disclosure, latency and hosted spend, but local execution is not automatically suited to every task.
Bring your own models, not just keys
Traditional bring-your-own-key support often preserves the vendor’s preferred model and merely changes who pays the invoice. Miton’s model layer is designed around multiple hosted and local providers. The user chooses the eligible boundary; routing chooses within it.
This separation matters:
- credentials remain in OS-backed secret storage rather than browser persistence;
- provider and model availability can change without changing the project;
- local models use the same capability checks and routing controls;
- costs remain attributable to the selected provider instead of a Miton credit abstraction.
Local models need specialised care
Equal treatment does not mean identical prompts. Models differ in context behaviour, tool protocols, vision capability and reliability. The harness must shape context and tools to those facts. It must also refuse false confidence: a small local model may be excellent for private extraction and the wrong choice for an intensive architectural change.
When a stronger hosted model is available and allowed, Miton can recommend it with an explanation. When hosted inference is disallowed, the system works inside that boundary and reports limitations honestly.
The trust consequence
Local-first architecture reduces the number of copies and services involved in a project. It does not remove the need for permissions, injection checks, secret isolation or egress evidence. Those controls become more important because the desktop can act directly on real files.
The promise is therefore concrete: the project belongs to the local machine; remote inference is a chosen crossing; local inference is a first-class path; neither is allowed to become invisible.