Skip to main content

Version: 1.0 | Last Updated: April 2026 | Status: Draft

BYOK/CMK Encryption

Setup Time: 30 minutes

Bring Your Own Key (BYOK) encryption gives enterprise customers complete control over their encryption keys. Your Customer Managed Key (CMK) lives in your AWS account, giving you full sovereignty over your data.

Why BYOK?

RequirementWithout BYOKWith BYOK
Data SovereigntyASCEND manages keysYou control keys in your AWS account
RevocationRequest ASCEND to deleteRevoke access instantly by disabling CMK
Audit TrailASCEND CloudTrailYour CloudTrail with full key usage
ComplianceStandard encryptionFedRAMP, HIPAA, PCI-DSS Ready
Key RotationASCEND managedYour rotation schedule

How It Works

┌─────────────────────────────────────────────────────────────────────────┐
│ YOUR AWS ACCOUNT │
│ │
│ ┌────────────────────┐ │
│ │ AWS KMS │ │
│ │ ┌────────────┐ │ │
│ │ │ Your CMK │ │◀── You create and control this │
│ │ └─────┬──────┘ │ │
│ └─────────┼──────────┘ │
│ │ │
│ │ kms:Encrypt / kms:Decrypt │
│ │ (Cross-account access) │
│ ▼ │
└────────────┼─────────────────────────────────────────────────────────────┘

┌────────────┼─────────────────────────────────────────────────────────────┐
│ │ ASCEND PLATFORM │
│ ▼ │
│ ┌────────────────────┐ ┌────────────────────┐ │
│ │ Envelope │ │ Your Encrypted │ │
│ │ Encryption │─────▶│ Data (DEK) │ │
│ │ (DEK wrapped │ │ │ │
│ │ by your CMK) │ │ Only decryptable │ │
│ └────────────────────┘ │ with your CMK │ │
│ └────────────────────┘ │
└──────────────────────────────────────────────────────────────────────────┘

Envelope Encryption

  1. Data Encryption Key (DEK) — Generated by ASCEND for each encryption operation
  2. Your CMK wraps the DEK — DEK is encrypted with your key before storage
  3. Decryption requires your CMK — Without your key, data is unreadable

FAIL SECURE Design

Critical Security Design

BYOK is designed to FAIL SECURE. This protects your data but means:

  • If your CMK becomes inaccessible → Data operations are blocked
  • If you revoke ASCEND's access → Data becomes unreadable
  • If you delete your CMK → Data is permanently lost
ScenarioResultRecovery
CMK temporarily unavailableOperations blockedRestore CMK access
CMK access revokedData unreadableRe-grant access
CMK deletedData permanently lostNo recovery possible
CMK key material deletedData permanently lostNo recovery possible

Prerequisites

Before enabling BYOK, ensure you have:

  • AWS Account with KMS permissions
  • IAM user/role that can create KMS keys
  • ASCEND Enterprise subscription
  • Admin access to your ASCEND organization

Quick Start

Step 1: Create Your CMK in AWS

aws kms create-key \
--description "ASCEND BYOK encryption key" \
--key-usage ENCRYPT_DECRYPT \
--origin AWS_KMS

Step 2: Grant ASCEND Cross-Account Access

Add this key policy to allow ASCEND to use your key:

{
"Sid": "Allow ASCEND to use key",
"Effect": "Allow",
"Principal": {
"AWS": "arn:aws:iam::<ASCEND_AWS_ACCOUNT_ID>:role/ascend-byok-service"
},
"Action": [
"kms:Encrypt",
"kms:Decrypt",
"kms:GenerateDataKey"
],
"Resource": "*"
}

Step 3: Register Your Key with ASCEND

curl -X POST https://pilot.owkai.app/api/v1/byok/keys \
-H "Authorization: Bearer $ASCEND_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"cmk_arn": "arn:aws:kms:us-east-2:<YOUR_AWS_ACCOUNT_ID>:key/YOUR_KEY_ID",
"cmk_alias": "ascend-encryption-key"
}'

Before BYOK is activated, you must acknowledge the legal waiver:

curl -X POST https://pilot.owkai.app/api/v1/byok/legal-waiver/acknowledge \
-H "Authorization: Bearer $ASCEND_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"acknowledge_data_loss_risk": true,
"acknowledge_key_management_responsibility": true,
"acknowledge_no_liability": true
}'

API Endpoints

EndpointMethodDescription
/api/v1/byok/keysPOSTRegister your CMK
/api/v1/byok/keysGETGet current key status
/api/v1/byok/keysDELETERevoke/remove registered key
/api/v1/byok/keys/rotatePOSTTrigger DEK rotation
/api/v1/byok/healthGETCheck key health status
/api/v1/byok/auditGETView BYOK audit log
/api/v1/byok/legal-waiverGETGet legal waiver text
/api/v1/byok/legal-waiver/acknowledgePOSTAcknowledge waiver
/api/v1/byok/legal-waiver/statusGETCheck waiver status

Compliance

ASCEND BYOK supports your compliance program for the following frameworks:

StandardRelevant RequirementHow BYOK Helps
SOC 2CC6.1 Encryption of sensitive dataCustomer retains key ownership in their AWS account
PCI-DSS3.5.1 Key management proceduresCustomer manages KMS key lifecycle and access policy
HIPAA164.312(a)(2)(iv) EncryptionAES-256 envelope encryption with customer-managed CMK
FedRAMPAC-3 Access enforcementCross-account IAM restricts key usage to authorized roles
GDPRArt. 32 Security of processingKey residency in customer-selected AWS region
note

BYOK is one component of a comprehensive compliance program. Achieving certification under these frameworks requires additional organizational, procedural, and technical controls beyond key management.

Key Rotation

ASCEND supports both automatic and manual key rotation:

Automatic DEK Rotation

curl -X POST https://pilot.owkai.app/api/v1/byok/keys/rotate \
-H "Authorization: Bearer $ASCEND_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"rotation_type": "dek",
"reason": "Scheduled quarterly rotation"
}'

CMK Rotation (Your Responsibility)

Enable automatic rotation in AWS KMS:

aws kms enable-key-rotation --key-id YOUR_KEY_ID

Monitoring

Health Check

curl https://pilot.owkai.app/api/v1/byok/health \
-H "Authorization: Bearer $ASCEND_TOKEN"

Response:

{
"status": "healthy",
"key_status": "active",
"last_encryption": "2026-04-02T10:30:00Z",
"last_decryption": "2026-04-02T10:29:55Z",
"cmk_accessible": true
}

Audit Log

curl "https://pilot.owkai.app/api/v1/byok/audit?limit=100" \
-H "Authorization: Bearer $ASCEND_TOKEN"

Next Steps

Support

For BYOK-related issues:

  • Email: security@owkai.app
  • Enterprise Support: Contact your account representative
  • Emergency: Use your enterprise support hotline