Skip to main content

A portable local authentication library for AI agents and developer tools

Project description

authsome

PyPI version Python 3.13+ License: MIT PyPI downloads Tests codecov

               __  __
  ____ ___  __/ /_/ /_  _________  ____ ___  ___
 / __ `/ / / / __/ __ \/ ___/ __ \/ __ `__ \/ _ \
/ /_/ / /_/ / /_/ / / (__  ) /_/ / / / / / /  __/
\__,_/\__,_/\__/_/ /_/____/\____/_/ /_/ /_/\___/

Local-first credential broker and vault for AI Agents

An open-source credential broker that sits between your agents and the services they call. Instead of sharing credentials with every agent, log in once via OAuth2 or API keys. Authsome stores credentials securely and injects them via an HTTP proxy. You get one place to manage access, rotate keys, and see what every agent is doing.


Demo

https://github.com/user-attachments/assets/27f9b229-baf4-4889-be9a-378a133654dc


Why Agents need Authsome

Agents run beyond interactive sessions. They live in CI, over SSH, in cron jobs, in background workers, and in parallel pipelines. They need API access that survives without a human in the loop.

Hardcoded environment tokens leak or go stale, and building auth flow logic, token storage, refresh handling, and per-provider config into every project rebuilds the same plumbing every time.

Authsome is the local credential layer agents call at runtime.

  • No credential sprawl. One encrypted store — every provider, every agent, one place.
  • No SaaS, no privacy trade-off. Credentials never leave your machine. Eliminates credential exfiltration risks as agents never see them.
  • No browser required at runtime. Setup can use browser PKCE, device code, or a browser bridge for secure API key entry. After that, agents run headlessly.

How It Works

The CLI is the agent's interface: setup once, then inject fresh credentials whenever a tool runs.

Authsome Architecture

Authenticate once:

uvx authsome login github

Then agents get valid credentials on demand:

uvx authsome get github --field access_token --show-secret
# → ghu_...

export $(uvx authsome export github)
# → sets GITHUB_ACCESS_TOKEN in current shell

uvx authsome run python my_agent.py
# runs behind a local auth proxy that injects headers at request time
# without exposing secrets in the child process environment.
# matched automatically via provider host_url (e.g. api.openai.com)

Credentials are stored locally, encrypted at rest, and refreshed before expiry. No server. No account. No cloud.


Why Authsome

authsome Hardcoded env tokens DIY
Automatic token refresh build it
OAuth2 + API keys build it
Runtime headless use varies
Local — no SaaS dependency
Built-in providers, zero config
Multi-account per provider build it

Authsome gives agents one command for a valid token, without scattering long-lived secrets across every project.


Quick Start

uvx authsome login github                  # opens browser, completes PKCE flow
uvx authsome login github --flow device_code  # headless: Device Code, works over SSH and CI
uvx authsome login openai                  # secure API key entry via browser bridge
uvx authsome list                          # all connections + token status

Docs

The full documentation site lives in docs/site/

To preview locally:

cd docs/site
npm i -g mint   # requires Node.js >= 20.17.0
mint dev

Specs

License

MIT — see LICENSE.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

authsome-0.2.4rc73.tar.gz (239.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

authsome-0.2.4rc73-py3-none-any.whl (114.9 kB view details)

Uploaded Python 3

File details

Details for the file authsome-0.2.4rc73.tar.gz.

File metadata

  • Download URL: authsome-0.2.4rc73.tar.gz
  • Upload date:
  • Size: 239.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for authsome-0.2.4rc73.tar.gz
Algorithm Hash digest
SHA256 c997591dd9d9db715b922f4d1d2729e59ee95a3a0f2a0e71424e649197ffcafe
MD5 a1d623ece95e13fa8a96312f04a49b42
BLAKE2b-256 7b3fc7a568d4671f9e4f936d293f5bfc357de4ad2d42110bacde9a2a8b5f1004

See more details on using hashes here.

File details

Details for the file authsome-0.2.4rc73-py3-none-any.whl.

File metadata

  • Download URL: authsome-0.2.4rc73-py3-none-any.whl
  • Upload date:
  • Size: 114.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.13 {"installer":{"name":"uv","version":"0.11.13","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for authsome-0.2.4rc73-py3-none-any.whl
Algorithm Hash digest
SHA256 b01629027f4540208b131cd51d86de2b76f9a0ff693fec878cb590c1e1a27db8
MD5 7fa3d4bfe7a697cc721c479f66526088
BLAKE2b-256 042c35a57c3183cc555d25535170d1c0068cde191a4fda3de887cea076f4e994

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page