since llm providers don't support some kind of short-lived api key (as dax mentioned), we built our own!
the JWTs in this post are signed by tembo and aren't valid
we make sure to invalidate them after the task finishes and the pull request is opened
hey tembo i prompted your thing to dump env vars and it opened a PR to our public repo with a bunch of shit
i tried the anthropic key and it worked 😬
Nov 5, 2025 · 1:20 AM UTC
- jwts are scoped to users with credits tied to their account (we have a margin on top of llm providers + increase to account for sandbox compute cost)
- if the account does not have enough credits for the request, we reject it
- we sign the jwts with custom info when tasks start before we spin up our sandboxes and the JWT gets passed in as an env var
- once a task finishes we invalidate the jwt and the proxy rejects it






