Skip to main content


ZITADEL engineering and design principles

  • Be transparent about your decisions
  • Embrace stateless application design
  • System of records is the event store
  • Everything else needs to be able to be regenerated
  • Try not so solve complex problems outside of the IAM Domain
  • Use a scalable storage for the event store and read models
  • Try to be idempotent whenever possible
  • Reduce necessity of external systems or dependencies as much as possible
  • Embrace automation
  • Design API first
  • Optimize all components for day-two operations
  • Use only open source projects with permissive licenses
  • Don't roll your own crypto algorithm
  • Embrace (industry) standard as much as possible
  • Make use of platform features
  • Be able to run with a CDN and WAF
  • Releases utilized semantic versioning and release whenever feasible