#### [Abblix\.Jwt](https://www.abblix.com/en/docs/api/abblix-jwt 'index')
### [Abblix\.Jwt\.ExternalKeys](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ExternalKeys 'Abblix\.Jwt\.ExternalKeys')

## KeyPlacement Enum

Where the private half of a key lives once a custodian is wired\. This is the security posture, so a host names
it at the call site and the library never picks one\.

```csharp
public enum KeyPlacement
```
### Fields

###### `Custodian` 0 {#Abblix.Jwt.ExternalKeys.KeyPlacement.Custodian}

The private halves stay in the custodian\. Every signature and every Content Encryption Key unwrap is a
round\-trip to it, and a compromised process holds no key to leak\.

###### `InProcess` 1 {#Abblix.Jwt.ExternalKeys.KeyPlacement.InProcess}

The keys are minted in this process, sealed to the custodian's key\-encryption key and shared as ciphertext
through an [IKeyRingStore](https://www.abblix.com/en/docs/api/abblix-jwt/Abblix.Jwt.ExternalKeys.IKeyRingStore 'Abblix\.Jwt\.ExternalKeys\.IKeyRingStore')\. Signing then runs locally, so the custodian is touched once per key
rather than once per token\.

### Remarks
Recorded rather than inferred from the registrations, so a host that layers its own key provider over the
placement's does not change the answer\. An enum rather than the name of the call that chose it: consumers
dispatch on this, and a dispatch on a method name is a magic string that survives the method being renamed\.
