tinyauth is a free, open source identity & access management (iam) project written in Go and released under AGPL-3.0. It has 8,271 GitHub stars, 272 forks and 41 open issues, and was last pushed 11 hours ago. On this registry it ranks #19 of 33 tracked projects in Identity & Access Management (IAM), with 5 head-to-head comparisons available.

What is tinyauth?

Tinyauth is a small Go authentication and authorization server that runs either as authentication middleware in front of self-hosted applications or as a standalone authentication server, and it is aimed at self-hosters and homelab operators who want OpenID Certified™ single sign-on without deploying a large identity platform.

What it is

Tinyauth sits in the Security & Privacy / Identity & Access Management (IAM) category and is written in Go under the AGPL-3.0 licence. Its own description is "The tiniest OpenID Certified™ authorization and authentication server you have ever seen." It is designed to work two ways at once: as an authentication middleware for existing applications, with support for OAuth, LDAP and access controls, and as a standalone authentication server. It integrates with the popular reverse proxies Traefik, Nginx and Caddy. As of 2026-06-25, Tinyauth v5.1.0 is OpenID Certified™ for Basic OP, with the certification details and the public test suite linked from the project.

The problem it solves is the authentication layer that otherwise has to be built or bolted on for every proxied service. Rather than giving each self-hosted application its own login implementation, an operator places Tinyauth in the request path, where it handles authentication and access control for the applications behind it. That keeps credential handling in one component and lets OAuth and LDAP identities feed the same gate. The project also ships a demo instance and a documented configuration surface, so a deployment can be evaluated before it is wired into a live proxy.

Key capabilities

  • Runs as authentication middleware for existing apps and as a standalone authentication server from the same project.
  • Supports OAuth and LDAP as identity sources, alongside built-in access controls.
  • Integrates with Traefik, Nginx and Caddy as the fronting reverse proxies.
  • Holds OpenID Certified™ status for Basic OP as of Tinyauth v5.1.0, dated 2026-06-25, with a public certification plan.
  • Provides two-factor authentication via TOTP, reflected in the project topics for 2fa and totp.
  • Ships a docker-compose.example.yml containing Traefik, Whoami and Tinyauth to demonstrate the full flow.
  • Offers a hosted demo at demo.tinyauth.app with default credentials user and password.

Who uses it and how

  • Self-hosters and homelab operators, the audience the project's Discord explicitly names for discussion of self-hosting and homelabs.
  • Operators running Traefik, Nginx or Caddy who need a single authentication and authorization gate in front of several applications.
  • Teams that already hold identities in OAuth or LDAP sources and want those identities reused for access control rather than duplicated per service.
  • Prospective adopters evaluating fit against the hosted demo before installing anything.
  • Contributors and translators, who work through the contributing guide and the Crowdin translation project.

Getting started

Start with the getting-started guide at tinyauth.app/docs/getting-started, or run the bundled docker-compose.example.yml, which brings up Traefik, Whoami and Tinyauth together. Note that this compose file lives on the main development branch and may contain changes that are not yet released.

How it compares

No comparable authentication servers are named in the facts for this entry, so Tinyauth stands alone in this registry on that axis. The proxy names it lists, Traefik, Nginx and Caddy, are integrations it authenticates behind rather than alternatives it competes with.

When to use it — and when not to

Choose Tinyauth when a compact authentication and authorization layer is wanted in front of proxied self-hosted applications, and when the operator accepts reading release notes before each update: the project states it is in active development and that configuration may change often. Anyone who needs a frozen, unchanging configuration surface, or who cannot meet the AGPL-3.0 requirement to publish source for a modified version run over a network, should look elsewhere. The example compose file and the main development branch should also be treated as moving targets rather than pinned deployment references.

project readme (upstream, from github) — read inline

Tinyauth

The tiniest OpenID Certified™ authorization and authentication server you have ever seen.

License Release Issues Tinyauth CI

Tinyauth is the simplest and tiniest authentication and authorization server you have ever seen. It is designed to both work as an authentication middleware for your apps, offering support for OAuth, LDAP and access-controls, and as a standalone authentication server. It supports all the popular proxies like Traefik, Nginx and Caddy.

Screenshot

[!WARNING] Tinyauth is in active development and configuration may change often. Please make sure to carefully read the release notes before updating.

[!NOTE] This is the main development branch. For the latest stable release, see the documentation or the latest stable tag.

As of 2026-06-25, Tinyauth v5.1.0 is OpenID Certified™ for Basic OP. You can find the certification details here, test suite available here.

OpenID Certified

Getting Started

You can get started with Tinyauth by following the guide in the documentation. There is also an available docker-compose file that has Traefik, Whoami and Tinyauth to demonstrate its capabilities (keep in mind that this file lives in the development branch so it may have updates that are not yet released).

Demo

If you are still not sure if Tinyauth suits your needs you can try out the demo. The default username is user and the default password is password.

Documentation

You can find documentation and guides on all of the available configuration of Tinyauth in the website.

If you wish to contribute to the documentation head over to the repository.

Discord

Tinyauth has a Discord server. Feel free to hop in to chat about self-hosting, homelabs and of course Tinyauth. See you there!

Contributing

All contributions to the codebase are welcome! If you have any free time, feel free to pick up an issue or add your own missing features. Make sure to check out the contributing guide for instructions on how to get the development server up and running.

Localization

If you like, you can help translate Tinyauth into more languages by visiting the Crowdin page.

License

Tinyauth is licensed under the GNU Affero General Public License v3.0. TL;DR — You may copy, distribute and modify the software as long as you track changes/dates in source files. Any modifications to or software including (via compiler) AGPL-licensed code must also be made available under the AGPL along with build & install instructions. If you run a modified version over a network, you must also make the source available to the users of that service. For more information about the license check the license file.

Sponsors

A big thank-you to the following individuals and companies for their support for Tinyauth.

Individuals

A huge thank you to selfh.st for their generous donation to Tinyauth.

selfh.st

                              

Companies and Organizations

Acknowledgements

  • Freepik for providing the police hat and badge.
  • Renee French for the original gopher logo.
  • Siru Zhou for providing the background image of the app.

Frequently asked questions

Is tinyauth free to use?

tinyauth is open source under the AGPL-3.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does tinyauth do?

The tiniest OpenID Certified™ authorization and authentication server you have ever seen.

What is tinyauth written in?

tinyauth is primarily written in Go. Its source is publicly available at https://github.com/tinyauthapp/tinyauth, and it has 8,271 GitHub stars.