home →
Get the free key
Legal · UPtrim™

The readable version

Terms, licensing, privacy, security and refunds. UPtrim is one developer's product, so this is written to be read rather than survived. Where there is a real limit, it says so plainly; where we promise something, the software actually does it.

Effective July 26, 2026 · Last updated July 26, 2026

01 Terms of use

What UPtrim is

UPtrim™ ("UPtrim", "the software") is an OpenAI-compatible reverse proxy that runs on your own hardware. It sits between a chat frontend (Open WebUI, SillyTavern, n8n, Claude Desktop, any OpenAI-compatible client) and a language-model backend (Ollama, llama.cpp, vLLM, SGLang, LM Studio, or a cloud provider you choose), and adds persistent per-user memory, file understanding, routing, research and compression along the way.

UPtrim is local-first. The memory brain — extraction, retrieval, the knowledge graph, consolidation — runs entirely on your machine. Nothing goes to a third party unless you configure a cloud backend or switch on an optional feature that reaches the internet. Those are listed in section 03.

Acceptance

Downloading, installing or running UPtrim means you accept these terms. If you do not accept them, do not use the software.

What your license lets you do

A valid license — including the free Developer key — grants you a non-exclusive, non-transferable right to run UPtrim for personal or commercial purposes, within the limits of the tier you hold:

  • Run UPtrim on hardware you control, at home or at work, and use its output commercially
  • Serve the users, backends, file sizes and nodes your tier allows — see pricing for the current limits
  • Configure, script and extend your own installation, including plugins and blueprints you write
  • Deploy it inside your own organization for your own people, on a tier that covers them

What a license does not cover:

  • Selling, sublicensing, renting or redistributing UPtrim itself, or a derivative of it
  • Reselling access to your installation as a hosted product for third parties — that needs a written agreement, so talk to us
  • Sharing, publishing or reselling a paid license key, or evading tier limits by splitting one license across separate deployments
  • Removing or altering authorship, trademarks, license enforcement or these terms
  • Reverse-engineering the licensing system

Acceptable use

Do not use UPtrim to:

  • Generate, store or distribute illegal content
  • Harass, threaten or harm anyone
  • Attack or circumvent the security of systems you do not own
  • Break the terms of any language-model provider you connect it to
  • Process data you have no right to process — including other people's, in a shared install

Third-party components

UPtrim bundles open-source components including FastAPI, uvicorn, httpx, spaCy, PyTorch, sentence-transformers and SQLite, among others. Each keeps its own license, and the full list ships with the application.

Changes to these terms

These terms can change with future releases. Continuing to use UPtrim after an update means accepting the revised terms, and anything material gets called out in the changelog rather than quietly swapped in here.

02 Keys, tiers and how licensing actually behaves

The free Developer key

There is a published Developer key, the same one for everybody, with no account and no email required:

4XC7N-K2RS3-NXSF6-M5CXA-AL8PU

It is free for life on v1.x. It unlocks the full memory engine, unlimited memories, files and users, the dashboard and every chat surface, on one backend with a 15 MB per-file ceiling. Nothing about it expires, and nothing about it is a trial.

The 14-day trial

At first boot you can either enter a key or start a 14-day trial. The trial needs an internet connection once, at the start, to be issued. After that it runs like any other license.

Paid tiers

Standard ($5/month), Pro ($15/month), Premium ($30/month) and Business ($100/month) are billed monthly. That is the only pricing there is — no annual plan, no lock-in, no separate upgrade fee. Enterprise is priced by agreement. Business and Enterprise deployments are not self-serve today — they start with a conversation on the contact page.

Offline behavior

Licenses validate offline for up to 14 days. A machine that stays off the internet longer than that will ask to check in before it keeps its paid features; it does not delete anything, and it does not stop you reading your own data.

Seats and nodes

A license covers one deployment and the number of people and backends its tier allows. In a multi-node fleet, only the master carries a key: workers boot keyless and receive an HMAC-signed grant from the master, and seats are tracked and capped centrally. Never put a license key on a worker.

Activation data

Activating or renewing a license sends the key and a machine identifier to the license service, and nothing else — no conversation content, no memories, no file names. See section 03.

03 Privacy

No analytics. No telemetry. No phone-home.

UPtrim collects no analytics, no telemetry, no crash reports and no usage statistics. Nothing in the software reports what you do with it back to us, and this website carries no analytics or tracking scripts of any kind. The single exception is license activation and renewal, which sends a key and a machine identifier and nothing else — described in section 02. That is not a policy position we are hoping to live up to later — it is the current state of the code and the site.

Your data stays on your machine

Memories, extracted facts, conversation context, uploaded files, identity profiles, the knowledge graph and every consolidation pass live in a local SQLite database on hardware you control, in one relocatable data folder. We never receive it. We cannot receive it. If you delete the folder, it is gone, including from us, because it was never anywhere else.

Where your conversation actually goes

UPtrim forwards your enriched prompt to whichever backend you configured. Point it at a local model and the whole exchange stays on your machine or your LAN. Point it at a cloud provider and that provider's data handling applies to whatever you send it — cloud providers are opt-in ONE SWITCH AWAY and gated to the Pro tier and above, and local_only mode keeps everything on-machine by refusing to leave it.

Features that reach the internet

These are the only parts of UPtrim that make outbound requests, and each one is visible in the dashboard:

  • Ghost live-web research — sends search queries derived from your turn, and fetches pages, when it is enabled. It sends queries, not your memory store.
  • Cloud model providers — only if you configure one, and only for the requests you route to it.
  • License activation and renewal — key plus machine identifier, nothing else.
  • Tunnels — only if you turn them on. Cloudflare and Tailscale tunnels publish your instance deliberately, at your instruction.

Identity, without accounts

UPtrim works out who is typing from the headers your chat frontend sends, with a five-tier fallback, and stores that locally so people in a shared install keep separate memories. The software itself creates no accounts, collects no email addresses, and uses no external identity provider.

This website is a separate thing

uptrim.dev has no analytics and no tracking. Three things here do touch a server, and all three are optional:

  • The contact form relays what you type — name, email, reason, stack, message — through a Cloudflare Worker to an email inbox, so it can be answered. It is not added to any list you did not ask for.
  • An optional website account (email and password, handled by Supabase) exists only if you choose to sign in for the downloads and license dashboard.
  • License keys and machine activations are stored by the license service so a key can be moved or deactivated. That record is keys and machines, not content.

Your data, your call

Every user of an install can view, edit, pin, rate, delete and export their own memories from /my-memory without an administrator. For the website, email us and we will delete your account, your contact message and your license records on request.

04 Security

The dashboard password is not optional

The admin dashboard requires a password, salted and hashed with PBKDF2, even when you reach it from localhost. There is no "trusted local" bypass, because a shared machine is not a trusted machine.

Built to sit behind something

UPtrim binds to 0.0.0.0 so your LAN can reach it. Do not put it directly on the public internet. Terminate TLS in front of it — a reverse proxy, or the built-in one-click Cloudflare or Tailscale tunnels — and keep a firewall in front of the port. The hosting guide walks through both routes.

Outbound requests are pinned

Every fetch UPtrim makes — research, page reads, plugin HTTP — resolves DNS first and connects to that vetted address, so redirect chains and DNS-rebinding tricks fail closed. Private and loopback addresses are never fetched. TLS certificates are verified.

The agent sandbox fails closed

When agent mode is switched on, its file and shell tools are confined to a workspace unless you deliberately configure a project root. No configuration means confined, not unrestricted — the safe state is the default state.

Handling of secrets

API keys and passwords are masked out of every API response — some are dropped from the payload entirely — so nothing echoes a secret back to a browser. The dashboard password is not stored at all in a recoverable form: it is kept only as a salted PBKDF2-SHA256 hash at 200,000 iterations, which is one-way. Parental-control PINs are never displayed, compared in constant time, and verified server-side. Forwarded-header spoofing is checked rather than trusted.

Some values are also encrypted at rest with AES-256-GCM under a key derived from the machine, so a configuration file copied off the box is useless elsewhere: Cloudflare tunnel tokens, Tailscale auth keys, the dashboard password field, your search-provider keys (Brave, Google CSE, Tavily), the dashboard and API tokens, and your license key. Being precise about the scope matters more than sounding thorough: this is a named list, not a blanket claim, and cloud provider keys such as your OpenAI key are not in it. Treat your configuration file as sensitive and keep it off shared storage.

Prompt injection is a real limit

UPtrim injects remembered context into model prompts, and it processes text that came from web pages and uploaded files. Safeguards exist, and a full adversarial review was run against the codebase with every confirmed finding fixed, but no system that feeds untrusted text to a language model is immune to prompt injection. Be careful about what you point it at, and about which tools you enable.

Fleet deployments

Traffic between fleet nodes is plain HTTP unless you terminate TLS yourself; a custom CA is supported. Master and workers must run the same build — upgrade the fleet together, not one node at a time.

Reporting a vulnerability

Report security issues privately through the contact page or by email to [email protected]. You will get an acknowledgement within one business day. Please give us a reasonable window to ship a fix before disclosing publicly, and we will credit you when it lands unless you would rather we didn't.

05 Refunds and cancellation

Try it before you pay anything

There is a 14-day free trial and a free Developer tier that never expires. Between them you can run the memory engine on your own data, on your own hardware, before money is involved. We would rather you did.

Monthly billing

Standard, Pro, Premium and Business are billed monthly. Cancel any time from your dashboard: access continues to the end of the cycle you already paid for, and after that the proxy falls back to the free Developer feature set rather than locking you out of your own data. Canceling part-way through a cycle is not prorated.

Your first charge on any tier

If the first paid month on a tier isn't what you expected, ask for a refund within 14 days of that charge and you will get it, no interrogation. Message us from the contact page with your order details.

The free Developer key

No payment, no expiry, nothing to refund. It keeps working whether or not you ever pay for anything, including after you cancel a paid tier.

Enterprise

Enterprise terms, including refunds, are set in the written agreement for that deployment.

How to ask

Use the contact page or email us with the order details. Refunds go back to the original payment method, typically within 5–10 business days.

Paid tiers are opening in order through the waitlist. If you have not been billed, none of this applies to you yet — the free tier is the whole relationship.

06 Disclaimer and limitation of liability

UPTRIM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.

IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH UPTRIM OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

In plainer words: this software talks to language models, which are wrong sometimes, and it stores data on hardware you administer, which fails sometimes. Keep backups — there is a one-click backup and restore in the dashboard. We are not liable for data loss, incorrect model output, or damage from running an install exposed on a public network.

UPtrim™ is a trademark of Landon Horling.

UPtrim is created by Landon Horling. It is an independent project, and is not affiliated with, endorsed by, or sponsored by Anthropic, OpenAI, Google, Meta, or any other model provider whose products it can connect to.