MCPcopy Index your code
hub / github.com/ory/oathkeeper

github.com/ory/oathkeeper @v26.2.0 sqlite

repository ↗ · DeepWiki ↗ · release v26.2.0 ↗
2,749 symbols 8,838 edges 413 files 977 documented · 36%
README

Ory Oathkeeper - Cloud Native Identity & Access Proxy

Chat · Discussions · Newsletter · Docs · Try Ory Network · Jobs

Ory Oathkeeper is an Identity & Access Proxy (IAP) and Access Control Decision API that authorizes HTTP requests based on sets of Access Rules. It follows the BeyondCorp model designed by Google and secures applications in Zero-Trust networks.


What is Ory Oathkeeper?

Ory Oathkeeper is an Identity & Access Proxy (IAP) and Access Control Decision API. It follows cloud architecture best practices and focuses on:

  • Authenticating and authorizing HTTP requests
  • Acting as a reverse proxy or decision API
  • Mutating requests with identity information
  • Integrating with existing API gateways and proxies
  • Supporting multiple authentication and authorization strategies
  • Working in Zero-Trust network architectures

We recommend starting with the Ory Oathkeeper introduction docs to learn more about its architecture, feature set, and how it compares to other systems.

Why Ory Oathkeeper

Ory Oathkeeper is designed to:

  • Decouple authentication and authorization from application code
  • Work as an API Gateway plugin or standalone proxy
  • Support flexible access rules for different endpoints
  • Integrate with Ambassador, Envoy, AWS API Gateway, Nginx, and more
  • Provide both proxy and sidecar deployment modes
  • Scale without effort in cloud native environments

Oathkeeper works with:

Deployment options

You can run Ory Oathkeeper in two main ways:

  • As a managed service on the Ory Network
  • As a self hosted service under your own control, with or without the Ory Enterprise License

Installation

You can run Ory Oathkeeper yourself for full control over infrastructure, deployment, and customization.

The install guide explains how to:

  • Install Oathkeeper on Linux, macOS, Windows, and Docker
  • Configure access rules and authentication strategies
  • Deploy to Kubernetes and other orchestration systems

This guide uses the open source distribution to get you started without license requirements. It is a great fit for individuals, researchers, hackers, and companies that want to experiment, prototype, or run unimportant workloads without SLAs. You get the full core engine, and you are free to inspect, extend, and build it from source.

If you run Oathkeeper as part of a business-critical system, you should use a commercial agreement to reduce operational and security risk. The Ory Enterprise License (OEL) layers on top of self-hosted Oathkeeper and provides:

  • Additional enterprise features that are not available in the open source version
  • Regular security releases, including CVE patches, with service level agreements
  • Support for advanced scaling, multi-tenancy, and complex deployments
  • Premium support options with SLAs, direct access to engineers, and onboarding help
  • Access to a private Docker registry with frequent and vetted, up-to-date enterprise builds

For guaranteed CVE fixes, current enterprise builds, advanced features, and support in production, you need a valid Ory Enterprise License and access to the Ory Enterprise Docker registry. To learn more, contact the Ory team.

Quickstart

Head over to the Ory Developer Documentation to learn how to install Ory Oathkeeper on Linux, macOS, Windows, and Docker and how to build Ory Oathkeeper from source.

Who is using Ory Oathkeeper

The Ory community stands on the shoulders of individuals, companies, and maintainers. The Ory team thanks everyone involved - from submitting bug reports and feature requests, to contributing patches and documentation. The Ory community counts more than 50.000 members and is growing. The Ory stack protects 7.000.000.000+ API requests every day across thousands of companies. None of this would have been possible without each and everyone of you!

The following list represents companies that have accompanied us along the way and that have made outstanding contributions to our ecosystem. If you think that your company deserves a spot here, reach out to office@ory.com now!

Name Logo Website Case Study
OpenAI OpenAI openai.com OpenAI Case Study
Fandom Fandom fandom.com Fandom Case Study
Lumin Lumin luminpdf.com Lumin Case Study
Sencrop Sencrop sencrop.com Sencrop Case Study
OSINT Industries OSINT Industries osint.industries OSINT Industries Case Study
HGV HGV hgv.it HGV Case Study
Maxroll Maxroll maxroll.gg Maxroll Case Study
Zezam Zezam zezam.io Zezam Case Study
T.RowePrice T.RowePrice troweprice.com
Mistral Mistral mistral.ai
Axel Springer Axel Springer axelspringer.com
Hemnet Hemnet hemnet.se

Extension points exported contracts — how you extend this code

Validator (Interface)
(no doc) [34 implementers]
rule/validator.go
Authenticator (Interface)
(no doc) [8 implementers]
pipeline/authn/authenticator.go
Mutator (Interface)
(no doc) [6 implementers]
pipeline/mutate/mutator.go
Hasher (Interface)
Hasher provides methods for generating and comparing password hashes. [3 implementers]
oryx/hasherx/hasher.go
Authorizer (Interface)
(no doc) [5 implementers]
pipeline/authz/authorizer.go
MatchingEngine (Interface)
MatchingEngine describes an interface of matching engine such as regexp or glob. [2 implementers]
rule/matching_engine.go
Contextualizer (Interface)
(no doc) [4 implementers]
oryx/contextx/contextual.go
ClientService (Interface)
ClientService is the interface for Client methods [1 implementers]
internal/httpclient/client/api/api_client.go

Core symbols most depended-on inside this repo

Get
called by 277
rule/repository.go
New
called by 209
internal/cloudstorage/setup.go
String
called by 208
oryx/watcherx/event.go
SetForTest
called by 132
driver/configuration/provider.go
Set
called by 120
rule/repository.go
Errorf
called by 119
oryx/logrusx/helper.go
WithField
called by 114
oryx/logrusx/helper.go
Error
called by 111
helper/errors.go

Shape

Method 1,251
Function 982
Struct 324
Interface 97
TypeAlias 60
FuncType 35

Languages

Go100%

Modules by API surface

oryx/sqlxx/types.go72 symbols
internal/httpclient/client/api/decisions_responses.go56 symbols
driver/configuration/provider_koanf.go54 symbols
driver/configuration/provider.go48 symbols
driver/registry_memory.go40 symbols
oryx/cmdx/printing.go35 symbols
internal/httpclient/client/api/get_rule_responses.go35 symbols
oryx/httprouterx/router.go32 symbols
oryx/logrusx/logrus.go31 symbols
oryx/configx/provider.go29 symbols
oryx/cmdx/helper.go26 symbols
rule/rule.go25 symbols

Dependencies from manifests, versioned

cel.dev/exprv0.25.1 · 1×
cloud.google.com/gov0.120.0 · 1×
cloud.google.com/go/auth/oauth2adaptv0.2.8 · 1×
cloud.google.com/go/compute/metadatav0.9.0 · 1×
cloud.google.com/go/monitoringv1.24.2 · 1×
cloud.google.com/go/storagev1.50.0 · 1×
code.dny.dev/ssrfv0.2.0 · 1×
codeberg.org/go-fonts/liberationv0.5.0 · 1×
codeberg.org/go-latex/latexv0.1.0 · 1×
codeberg.org/go-pdf/fpdfv0.11.1 · 1×

Datastores touched

(mysql)Database · 1 repos
mysqlDatabase · 1 repos
hydraDatabase · 1 repos
postgresDatabase · 1 repos

For agents

$ claude mcp add oathkeeper \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact