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