62 lines
2.2 KiB
Markdown
Raw Normal View History

# Architecture Decision Records (ADRs)
This directory contains Architecture Decision Records (ADRs) for SecretumVault.
ADRs document significant architectural decisions, their context, alternatives considered, and consequences.
## Format
Each ADR follows the [Nygard format](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions):
- **Title**: Short noun phrase describing the decision
- **Status**: Proposed, Accepted, Deprecated, Superseded
- **Context**: Problem and constraints
- **Decision**: What we decided to do
- **Consequences**: Positive and negative outcomes
## ADR Index
| ADR | Title | Status | Date |
|-----|-------|--------|------|
| [001](001-post-quantum-cryptography-oqs-implementation.md) | Real Post-Quantum Cryptography Implementation via OQS Backend | ✅ Accepted & Implemented | 2026-01-17 |
## ADR Lifecycle
```text
Proposed → Accepted → Implemented
Deprecated (replaced by newer ADR)
Superseded (points to replacement ADR)
```
## When to Create an ADR
Create an ADR when making decisions about:
- **Architecture**: Major structural changes (new backend, engine redesign)
- **Technology**: Choosing libraries, frameworks, or tools (OQS vs RustCrypto)
- **Patterns**: Establishing coding patterns (wrapper structs, caching strategy)
- **Security**: Cryptographic algorithms, authentication methods
- **Performance**: Trade-offs between speed and safety
- **Compliance**: Standards conformance (NIST FIPS)
## How to Create an ADR
1. Copy template from existing ADR (e.g., ADR-001)
2. Number sequentially (ADR-002, ADR-003, etc.)
3. Use kebab-case filename: `NNN-short-descriptive-title.md`
4. Fill in all sections:
- Context (why we need to decide)
- Decision (what we decided)
- Alternatives Considered (what we rejected and why)
- Consequences (pros/cons)
5. Update this index with new entry
6. Submit for review before marking as Accepted
## Related Documentation
- [Architecture Overview](../overview.md) - High-level system architecture
- [Complete Architecture](../complete-architecture.md) - Detailed architecture reference
- [Development Documentation](../../development/README.md) - Build and development guides