<aside> 💡
ACA stands for Access Control Architecture
</aside>
Designing a system where trusted sources (Microsoft, enterprise partners, vetted developers) can access internal APIs while maintaining security from untrusted community extensions.
// Tier 1: Public Community API
symphony-extension-api/
├── src/lib.rs # Public APIs only
└── Cargo.toml # Published to crates.io
// Tier 2: Trusted Partner API
symphony-trusted-api/
├── src/lib.rs # Public + some internal APIs
└── Cargo.toml # Private registry or signed distribution
// Tier 3: Full Internal API
symphony-internal-api/
├── src/lib.rs # All APIs including infrastructure
└── Cargo.toml # Never distributed externally
Extension Type | Public APIs | Trusted APIs | Internal APIs | Distribution |
---|---|---|---|---|
🌍 Community | ✅ Full | ❌ None | ❌ None | crates.io |
🤝 Trusted Partners | ✅ Full | ✅ Full | ⚠️ Selected | Private registry |
🏢 Enterprise Customers | ✅ Full | ✅ Full | ❌ None | Signed packages |
🎼 Symphony Internal | ✅ Full | ✅ Full | ✅ Full | Direct access |