Design Philosophy

Design Philosophy

Nauthera is built on a lean, opinionated, and security-first design philosophy that aims to simplify authentication for developers while providing robust governance for security and platform teams.

Our core principles are:

  • Separation of Concerns: Developers, security teams, and operators have distinct roles and responsibilities, managed through separate Custom Resources. Developers declare what they need, while security defines how it’s secured.
  • Declarative & GitOps-Native: All configuration is managed through version-controlled YAML manifests. This enables automated, repeatable, and auditable workflows.
  • Secure by Default: We provide sensible defaults and enforce security best practices through policies, ensuring that even the simplest client configuration is secure.
  • Developer Self-Service: Empower developers to configure authentication for their applications frictionlessly without requiring deep security expertise or waiting on support tickets.

This section provides a detailed look into our design:

  • Core Concepts: The foundational principles that guide our architecture.
  • CRD Specifications:
    • AuthClient: For developers to request OIDC clients.
    • AuthPolicy: For security teams to define governance.
    • AuthServer: For platform teams to manage server instances.
    • UserStore: For configuring backend user directories.
  • Example Workflows: Practical examples of how these resources work together.