| Workload Identity | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Authenticate workload identity and evaluate path/action policy plus approval constraints. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents the external caller from also owning the contract and failure behavior of Secrets API. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “KMS unavailable during secret read” to the external caller. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Workload Identity boundary before extracting or scaling it. |
| Secrets API | Owns authentication, validation, quotas, deadlines, and routing. In this design it participates in: Fetch ciphertext and ask HSM/KMS to unwrap only the data key. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Workload Identity from also owning the contract and failure behavior of Auth / Policy. | Put protocol, authentication, quotas, and business transitions in one process. Acceptable at low scale, but it couples external traffic risk to domain releases. Here that simpler choice would couple “Leaked lease remains cached” to Workload Identity. | Costs another hop, policy distribution, and a high-blast-radius fleet. Introduce it when many clients or services need one protocol and protection boundary. Measure the latency, saturation, lag, or mismatch at the Secrets API boundary before extracting or scaling it. |
| Auth / Policy | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Return a versioned secret lease or mint dynamic credentials with bounded TTL. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Secrets API from also owning the contract and failure behavior of Approval Workflow. | Embed policy in every caller. Rules then drift by deployment version and emergency changes require fleet-wide redeployment. Here that simpler choice would couple “Rotation breaks one dependent” to Secrets API. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Auth / Policy boundary before extracting or scaling it. |
| Approval Workflow | Owns client protocol, request identity, retry, and resume behavior. In this design it participates in: Client agent caches only within lease and renews before safety margin. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Auth / Policy from also owning the contract and failure behavior of HSM / KMS. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Policy grants wildcard path” to Auth / Policy. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Approval Workflow boundary before extracting or scaling it. |
| HSM / KMS | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Rotation publishes new version, updates dependents, and revokes old leases with audit. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Approval Workflow from also owning the contract and failure behavior of Envelope Crypto. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Break-glass access bypasses normal approval” to Approval Workflow. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the HSM / KMS boundary before extracting or scaling it. |
| Envelope Crypto | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Authenticate workload identity and evaluate path/action policy plus approval constraints. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents HSM / KMS from also owning the contract and failure behavior of Encrypted Secret Store. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “KMS unavailable during secret read” to HSM / KMS. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Envelope Crypto boundary before extracting or scaling it. |
| Encrypted Secret Store | Owns authoritative versioned state or immutable evidence. In this design it participates in: Fetch ciphertext and ask HSM/KMS to unwrap only the data key. | Defines the source of truth and commit boundary. It prevents Envelope Crypto from also owning the contract and failure behavior of Version Metadata. | Let each service persist its own interpretation. That removes one clear commit boundary and makes retries, support, and reconciliation ambiguous. Here that simpler choice would couple “Leaked lease remains cached” to Envelope Crypto. | Costs schema migration, replication, backup, and shard ownership. Split storage only when access patterns, retention, or compliance boundaries materially differ. Measure the latency, saturation, lag, or mismatch at the Encrypted Secret Store boundary before extracting or scaling it. |
| Version Metadata | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Return a versioned secret lease or mint dynamic credentials with bounded TTL. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Encrypted Secret Store from also owning the contract and failure behavior of Lease Issuer. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Rotation breaks one dependent” to Encrypted Secret Store. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Version Metadata boundary before extracting or scaling it. |
| Lease Issuer | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Client agent caches only within lease and renews before safety margin. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Version Metadata from also owning the contract and failure behavior of Dynamic Credential Plugin. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Policy grants wildcard path” to Version Metadata. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Lease Issuer boundary before extracting or scaling it. |
| Dynamic Credential Plugin | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Rotation publishes new version, updates dependents, and revokes old leases with audit. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Lease Issuer from also owning the contract and failure behavior of Rotation Scheduler. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Break-glass access bypasses normal approval” to Lease Issuer. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Dynamic Credential Plugin boundary before extracting or scaling it. |
| Rotation Scheduler | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Authenticate workload identity and evaluate path/action policy plus approval constraints. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Dynamic Credential Plugin from also owning the contract and failure behavior of Revocation Stream. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “KMS unavailable during secret read” to Dynamic Credential Plugin. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Rotation Scheduler boundary before extracting or scaling it. |
| Revocation Stream | Preserves durable ordering, replay, and consumer checkpoints. In this design it participates in: Fetch ciphertext and ask HSM/KMS to unwrap only the data key. | Decouples bursts and failure from user acknowledgment. It prevents Rotation Scheduler from also owning the contract and failure behavior of Client Agent / Cache. | Call every downstream consumer synchronously. That couples user latency and availability to analytics, notification, indexing, and audit dependencies. Here that simpler choice would couple “Leaked lease remains cached” to Rotation Scheduler. | Costs eventual consistency, schema evolution, replay tooling, idempotent consumers, and lag operations. Earn it when bursts or downstream failure must not block acknowledgment. Measure the latency, saturation, lag, or mismatch at the Revocation Stream boundary before extracting or scaling it. |
| Client Agent / Cache | Owns client protocol, request identity, retry, and resume behavior. In this design it participates in: Return a versioned secret lease or mint dynamic credentials with bounded TTL. | Removes repeated work from the latency-critical path. It prevents Revocation Stream from also owning the contract and failure behavior of Audit Log. | Read authoritative storage for every request. Simpler initially, but latency and source-of-truth load scale together and a hot key becomes a database incident. Here that simpler choice would couple “Rotation breaks one dependent” to Revocation Stream. | Costs invalidation, staleness, stampede protection, and memory. Add or split it only after the workload (Millions secrets · 100K reads/s · HSM-backed root keys) proves repeated reads dominate. Measure the latency, saturation, lag, or mismatch at the Client Agent / Cache boundary before extracting or scaling it. |
| Audit Log | Preserves durable ordering, replay, and consumer checkpoints. In this design it participates in: Client agent caches only within lease and renews before safety margin. | Proves correctness and supports controlled recovery. It prevents Client Agent / Cache from also owning the contract and failure behavior of Break-Glass Control. | Call every downstream consumer synchronously. That couples user latency and availability to analytics, notification, indexing, and audit dependencies. Here that simpler choice would couple “Policy grants wildcard path” to Client Agent / Cache. | Costs eventual consistency, schema evolution, replay tooling, idempotent consumers, and lag operations. Earn it when bursts or downstream failure must not block acknowledgment. Measure the latency, saturation, lag, or mismatch at the Audit Log boundary before extracting or scaling it. |
| Break-Glass Control | Owns one bounded domain decision, transition, or operational capability. In this design it participates in: Rotation publishes new version, updates dependents, and revokes old leases with audit. | Separates a distinct scale, ownership, policy, or failure boundary. It prevents Audit Log from also owning the contract and failure behavior of operators and repair tooling. | Keep this behavior inside an adjacent service. Prefer that simpler option until independent scale, ownership, policy, or failure isolation is measurable. Here that simpler choice would couple “Break-glass access bypasses normal approval” to Audit Log. | Costs an interface, deployment, telemetry, ownership, and failure mode. Keep it in-process first; extract when independent scale or reliability pays for the boundary. Measure the latency, saturation, lag, or mismatch at the Break-Glass Control boundary before extracting or scaling it. |