AI providers
Paperless Starfruit bundles no AI of its own: on the API Keys screen you connect the providers you want, and the keys never leave your server.
Cloud providers
Section titled “Cloud providers”Each takes a single API key; models come from a curated catalog. Pick the provider, paste the key, and hit Test. A probe call confirms it’s reachable.
| Provider | Kind | Example models |
|---|---|---|
| Anthropic | anthropic |
Claude Opus 4.5, Sonnet 4.6, Haiku 4.5 |
| OpenAI | openai |
GPT-4.1, GPT-4.1 mini, GPT-4o, GPT-4o mini, o4-mini |
google |
Gemini 2.5 Pro, 2.5 Flash, 2.0 Flash | |
| Mistral | mistral |
Mistral Large, Mistral Small, Pixtral Large, Mistral OCR |
Local & OpenAI-compatible
Section titled “Local & OpenAI-compatible”For self-hosted or third-party gateways (Ollama, LM Studio, vLLM, OpenRouter), choose
OpenAI-compatible: give the endpoint a name, set its base URL (e.g.
http://localhost:11434/v1), and optionally an API key (many local endpoints don’t need
one). Models are discovered live from the server rather than a fixed catalog, and you
can add as many endpoints as you like.
How keys are protected
Section titled “How keys are protected”- Encrypted at rest (AES-GCM) with a key derived from
ENCRYPTION_KEY, which only your server holds. - Never returned to the browser: editing a saved key shows a “leave blank to keep current key” placeholder, not the value.
- No vendor in the middle: requests go straight from your container to the provider.
Picking models
Section titled “Picking models”Which model handles each task is set on the Processing screen: a language model for extracting title/tags/correspondent/date, and an optional OCR model for re-reading scans. They can be the same model or different ones.
