Skip to content

Tenant Setup Guide

This guide walks you through initial configuration of your AnkaSecure tenant after receiving access credentials from AnkaTech.


Prerequisites

Before you begin, ensure you have:

  • ✅ Tenant ID (received via email from AnkaTech)
  • ✅ Admin username and temporary password
  • ✅ Access to Admin Console (https://console.ankasecure.com)
  • ✅ API endpoint URL (https://api.ankasecure.com)

Step 1: First Login

1.1 Access Admin Console

Navigate to: https://console.ankasecure.com

Login Form: - Tenant ID: your-tenant-id - Username: [email protected] (provided by AnkaTech) - Password: [Temporary password from email]

1.2 Change Admin Password

You'll be prompted to change password on first login.

Password Requirements: - Minimum 12 characters - At least 1 uppercase letter - At least 1 lowercase letter - At least 1 number - At least 1 special character (!@#$%^&*)

Example Strong Password: AnkaSecure2025!Quantum


Security Best Practice: Enable MFA for all admin accounts

Setup MFA: 1. Navigate to User SettingsSecurity 2. Click Enable MFA 3. Scan QR code with authenticator app (Google Authenticator, Authy, Microsoft Authenticator) 4. Enter 6-digit verification code 5. Save backup codes (for account recovery)


Step 2: Create Additional Users

2.1 Invite Team Members

Navigate to: Users → Invite User

User Information: - Email: User's email address - Role: Select appropriate role - Tenant Admin: Full tenant management (create users, apps, keys) - Application Admin: Manage applications and API keys - User: Perform cryptographic operations only - Auditor: Read-only access to audit logs - Send Invitation: User receives email with setup link

Example:

Email: [email protected]
Role: Application Admin
Permissions: Can create API keys, cannot manage users

2.2 User Roles & Permissions

Role Manage Users Manage Apps Manage Keys Crypto Ops View Logs
Tenant Admin
Application Admin
User
Auditor ✅ (read-only)

Step 3: Create Your First Application

Applications = Service accounts for API authentication

3.1 Create Application

Navigate to: Applications → Create Application

Application Details: - Name: Production API (descriptive name) - Description: Primary production service for customer data encryption - Permissions: Select operations allowed (encrypt, decrypt, sign, verify, key management)

Click: Create Application

3.2 Generate API Key

After creation, you'll receive: - Application ID: app-123 - API Key: ask_1234567890abcdef... (shown once - copy immediately!)

⚠️ Important: API key shown only once. Store securely (secret manager, environment variables).

Example API Key Storage (.env file, add to .gitignore):

ANKASECURE_API_KEY=ask_1234567890abcdef...
ANKASECURE_TENANT_ID=your-tenant-id
ANKASECURE_BASE_URL=https://api.ankasecure.com


Step 4: Generate Your First Key

Via Admin Console (GUI)

Navigate to: Keys → Generate Key

Key Configuration: - Key ID: customer-data-key (unique identifier) - Algorithm: ML-KEM-768 (recommended, quantum-resistant) - Policy Template: NIST_APPROVED (or your region's template) - Description: Customer PII encryption key

Click: Generate Key

Success: Key status shows ACTIVE


Via CLI (Command-Line)

# Configure CLI with tenant credentials
ankasecure-cli config init

# Follow prompts:
# API Endpoint: https://api.ankasecure.com
# API Key: ask_1234567890abcdef...
# Tenant ID: your-tenant-id

# Generate key
ankasecure-cli key generate \
  --algorithm ML-KEM-768 \
  --key-id customer-data-key \
  --policy NIST_APPROVED

# Output:
# ✓ Key generated successfully
# Key ID: customer-data-key
# Algorithm: ML-KEM-768
# Status: ACTIVE

Via REST API

curl -X POST https://api.ankasecure.com/api/v1/key-management/keys \
  -H "Authorization: Bearer ask_1234567890abcdef..." \
  -H "X-Tenant-ID: your-tenant-id" \
  -H "Content-Type: application/json" \
  -d '{
    "algorithm": "ML-KEM-768",
    "keyId": "customer-data-key",
    "policy": "NIST_APPROVED"
  }'

# Response:
# {
#   "keyId": "customer-data-key",
#   "algorithm": "ML-KEM-768",
#   "status": "ACTIVE",
#   "createdAt": "2025-12-26T10:00:00Z",
#   "publicKey": "..."
# }

Step 5: Test Integration

SDK Integration Test

import co.ankatech.ankasecure.sdk.AnkaSecureClient;
import co.ankatech.ankasecure.sdk.config.ClientConfig;

// Configure client
ClientConfig config = ClientConfig.builder()
    .baseUrl("https://api.ankasecure.com")
    .apiKey(System.getenv("ANKASECURE_API_KEY"))
    .tenant(System.getenv("ANKASECURE_TENANT_ID"))
    .build();

AnkaSecureClient client = new AnkaSecureClient(config);

// Test encryption
EncryptRequest request = EncryptRequest.builder()
    .keyId("customer-data-key")
    .plaintext("Hello AnkaSecure!")
    .build();

EncryptResponse encrypted = client.encrypt(request);
System.out.println("✓ Encryption successful: " + encrypted.getCiphertext());

// Test decryption
DecryptRequest decryptReq = DecryptRequest.builder()
    .ciphertext(encrypted.getCiphertext())
    .build();

DecryptResponse decrypted = client.decrypt(decryptReq);
System.out.println("✓ Decryption successful: " + decrypted.getPlaintext());

Expected Output:

✓ Encryption successful: eyJhbGciOiJNTC1LRU0tNzY4IiwiZW5jIjoiQTI1NkdDTSJ9...
✓ Decryption successful: Hello AnkaSecure!


CLI Integration Test

# Encrypt a file
echo "Sensitive data" > test.txt
ankasecure-cli encrypt \
  --key-id customer-data-key \
  --input test.txt \
  --output test.enc

# Output:
# ✓ File encrypted successfully

# Decrypt the file
ankasecure-cli decrypt \
  --input test.enc \
  --output decrypted.txt

cat decrypted.txt
# Sensitive data

Step 6: Configure Policies (Optional)

Policy Templates

What are policies?: Pre-configured algorithm availability sets aligned with regulations

Available Templates: - NIST_APPROVED - USA federal compliance - BSI_COMPLIANT - Germany - CRYPTREC - Japan - CHINA_GMT_COMPLIANT - China - PCI_DSS - Finance sector - See all 20 templates →

Example: Enforce only NIST-approved algorithms for all keys

Via Admin Console: 1. Navigate to SettingsPolicies 2. Select Default Policy Template: NIST_APPROVED 3. Save Changes

Effect: All new keys must use NIST-approved algorithms (ML-KEM, ML-DSA, AES, etc.)


Enable Audit Logging

Navigate to: Settings → Audit Logs

Configuration: - Log Retention: 90 days (default), up to 7 years (compliance) - Log Export: Enable export to external SIEM (Splunk, ELK, Datadog)

Export API (download audit logs):

curl https://api.ankasecure.com/api/v1/audit/logs \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "X-Tenant-ID: your-tenant-id" \
  -G -d "start=2025-12-01" -d "end=2025-12-31"

# Returns JSON array of audit events


Configure Alerts

Navigate to: Settings → Alerts

Recommended Alerts: - ✅ Failed authentication attempts (>10 in 1 hour) - ✅ Quota approaching limit (80% of monthly quota) - ✅ New API key generated (security awareness) - ✅ Key deletion (prevent accidental data loss)

Alert Destinations: - Email notifications - Webhook (POST to your endpoint) - Integration with PagerDuty, Slack, Microsoft Teams


Tenant Configuration Checklist

Initial Setup

  • [ ] First login completed
  • [ ] Admin password changed
  • [ ] MFA enabled for admin account
  • [ ] Additional users invited (if applicable)
  • [ ] First application created
  • [ ] API key generated and stored securely
  • [ ] First cryptographic key generated
  • [ ] Integration tested (SDK or CLI)

Security Hardening

  • [ ] MFA enforced for all admin users
  • [ ] API keys rotated (initial keys from email replaced)
  • [ ] IP whitelist configured (if available in your tier)
  • [ ] Audit logging enabled
  • [ ] Alerts configured (failed auth, quota, key operations)

Compliance (if applicable)

  • [ ] BAA signed (HIPAA - healthcare)
  • [ ] Data residency verified (GDPR - EU data in EU region)
  • [ ] Audit log retention configured (PCI-DSS - 12 months, HIPAA - 6 years)
  • [ ] Compliance documentation requested (SOC 2, ISO 27001)

Troubleshooting

Cannot Log In to Admin Console

Symptom: "Invalid credentials" error

Solutions: - Verify tenant ID is correct (case-sensitive) - Check username matches email from AnkaTech - Ensure using temporary password (not expired) - Clear browser cache and cookies - Try different browser

Still failing?: Contact support@ankatech.co with tenant ID


API Key Authentication Fails

Symptom: 401 Unauthorized when calling API

Solutions: - Verify API key copied correctly (no extra spaces) - Check X-Tenant-ID header matches your tenant - Ensure API key is active (not revoked) - Verify API endpoint URL is correct

Test Authentication:

curl https://api.ankasecure.com/api/v1/key-management/keys \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "X-Tenant-ID: YOUR_TENANT_ID"

# Expected: 200 OK with JSON array of keys


Key Generation Fails

Symptom: 422 Unprocessable Entity when generating key

Solutions: - Verify algorithm name is correct (case-sensitive: ML-KEM-768, not ml-kem-768) - Check key ID is unique (not already used) - Ensure algorithm is allowed by tenant policy - Verify quota not exceeded

Check Allowed Algorithms:

curl https://api.ankasecure.com/api/v1/key-management/algorithms \
  -H "Authorization: Bearer YOUR_API_KEY"

# Returns list of allowed algorithms for your tenant


Next Steps

Tenant configured? Continue with:


Documentation Version: 3.0.0 Last Updated: 2025-12-26