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 Discord

Local-first credential broker and vault for AI Agents

Docs · Website · Discord · Issues


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.

45 bundled providers out of the box: 14 OAuth2 and 31 API key. See the full list.


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:

authsome login github
# This opens a browser on user's machine
# user completes login without sharing the creds with the agent.

Then agents get valid credentials on demand when they try to access external services. All they need to do is use authsome run -- before the command they want to run:

authsome run -- curl -s "https://api.github.com/user/repos?per_page=10"
# runs behind a local auth proxy that injects headers at request time
# without exposing secrets in the child process environment.
# matched automatically via provider api_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.


Install

Requires Python 3.13+.

uv tool install authsome

Quick Start

Add the authsome skill to your agent (claude, codex, cursor, hermes, etc.):

npx skills add agentrhq/authsome

And try a sample task that requires access to external services:

Star the repo agentrhq/authsome
Get my last 5 emails from gmail
Check my stripe balance

The agent will use authsome to login into external services and perform the task.

Agent Integrations

Authsome ships with adapters for the most common agent frameworks and CLIs:

Full list at authsome.ai/docs/integrations.

Docs

Full documentation lives at authsome.ai/docs.

To preview the docs site locally:

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

Telemetry

Authsome's daemon can emit product analytics through PostHog. You can disable telemetry with any of these environment variables:

  • DO_NOT_TRACK=1 disables analytics using the standard opt-out convention.
  • POSTHOG_DISABLED=1 disables analytics using PostHog's recommended kill switch.
  • AUTHSOME_ANALYTICS=0 disables analytics with an Authsome-specific override.

Community

  • Discord for questions, help, and showing what you're building.
  • GitHub Issues for bugs and feature requests.

Security

Authsome is a credential tool. If you find a vulnerability, please do not open a public GitHub issue.

See the responsible disclosure policy for how to report it privately.

Roadmap

See authsome.ai/docs/roadmap for what's shipped, what's next, and what's out of scope.

Contributing

Links

Star History

Star History Chart

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.4.1.tar.gz (607.2 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.4.1-py3-none-any.whl (160.0 kB view details)

Uploaded Python 3

File details

Details for the file authsome-0.4.1.tar.gz.

File metadata

  • Download URL: authsome-0.4.1.tar.gz
  • Upload date:
  • Size: 607.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.4.1.tar.gz
Algorithm Hash digest
SHA256 8664df2b7771680169312d15da0ab9714a9724ec57afdbc2bbd3c3e4df876399
MD5 fd5006a057ca11abf4c71456056d1f24
BLAKE2b-256 b133fdc24a9a601715adff839f3b2ff529fcd22cb4e3b1d795f2e3706dc4cabf

See more details on using hashes here.

File details

Details for the file authsome-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: authsome-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 160.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.16 {"installer":{"name":"uv","version":"0.11.16","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.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 00e7084d3a8f90baa7a94e2862f823b86c30fb01c2103d82f24f6dafb9588979
MD5 89ebd9e43c9209e64d656784d2501849
BLAKE2b-256 34858f7a4d98ee686e4db4daa61e5989453f836e0c15cf2424b9c6ec8e3656ba

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