syntax = "proto3"; package arbiter.user_agent.vault.unseal; message UnsealStart { bytes client_pubkey = 1; } message UnsealStartResponse { bytes server_pubkey = 1; } message UnsealEncryptedKey { bytes nonce = 1; bytes ciphertext = 2; bytes associated_data = 3; } enum UnsealResult { UNSEAL_RESULT_UNSPECIFIED = 0; UNSEAL_RESULT_SUCCESS = 1; UNSEAL_RESULT_INVALID_KEY = 2; UNSEAL_RESULT_UNBOOTSTRAPPED = 3; } message Request { oneof payload { UnsealStart start = 1; UnsealEncryptedKey encrypted_key = 2; } } message Response { oneof payload { UnsealStartResponse start = 1; UnsealResult result = 2; } }