Skip to main content

What ASCEND Does — And Doesn't Do

Understanding exactly what ASCEND provides — and what remains your responsibility — is critical for enterprise deployments. This document defines clear boundaries for security teams, compliance officers, and architects.

What ASCEND Does

ASCEND is a governance layer that sits between your AI agents and the systems they interact with.

Core Capabilities

CapabilityDescriptionImplementation
Action EvaluationEvery agent action is evaluated against risk scoring and policiesservices/enterprise_risk_calculator_v2.py
Risk ScoringHybrid multi-factor scoring (0-100) with CVSS/NIST/MITRE mapping56 action types, 67 services
Policy EnforcementConfigurable rules with condition engineservices/condition_engine.py
Approval WorkflowsHuman-in-the-loop for high-risk actionsMulti-stage, SLA monitoring
Audit LoggingImmutable, hash-chained compliance logsWORM storage, 7-year retention
Multi-Tenant IsolationComplete data separation per organizationRow-Level Security, organization_id filtering

Security Controls Provided

┌─────────────────────────────────────────────────────────────────────┐
│ ASCEND SECURITY CONTROLS │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ✓ Authentication (API Key + JWT + MFA) │
│ ✓ Authorization (6-level RBAC, 23 permissions) │
│ ✓ Encryption at Rest (AES-256, BYOK supported) │
│ ✓ Encryption in Transit (TLS 1.3) │
│ ✓ Audit Trail (Immutable, hash-chained) │
│ ✓ Anomaly Detection (Behavioral analysis) │
│ ✓ Rate Limiting (Per-agent, per-organization) │
│ ✓ Circuit Breaker (Automatic failsafe) │
│ │
└─────────────────────────────────────────────────────────────────────┘

What ASCEND Does NOT Do

ASCEND Does NOT Train Models on Your Data

┌─────────────────────────────────────────────────────────────────────┐
│ ❌ ASCEND NEVER: │
│ │
│ • Uses your data to train AI models │
│ • Shares data between organizations │
│ • Stores data for purposes beyond governance │
│ • Accesses your data without explicit action submission │
│ │
│ ✓ YOUR DATA IS: │
│ │
│ • Processed only for governance decisions │
│ • Isolated by organization (multi-tenant RLS) │
│ • Encrypted at rest and in transit │
│ • Subject to your retention policies │
│ │
└─────────────────────────────────────────────────────────────────────┘

ASCEND Does NOT Store Customer Secrets in Plaintext

All sensitive data is protected:

Secret TypeStorage MethodAccess Control
API KeysSHA-256 hashed + saltedNever retrievable
Database CredentialsAWS Secrets ManagerIAM role-based
Encryption KeysAWS KMS (or BYOK)Customer-controlled
Session TokensHttpOnly cookiesCSRF protected

Source: services/token_service.py, auth_utils.py

ASCEND Does NOT Replace IAM / SIEM / API Gateways

ASCEND complements your existing security stack:

┌─────────────────────────────────────────────────────────────────────┐
│ ASCEND IN YOUR SECURITY STACK │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ YOUR IAM (Okta, Azure AD, AWS IAM) │
│ │ │
│ ▼ │
│ ┌─────────────────────────────────────────────────────────────┐ │
│ │ ASCEND │ │
│ │ AI Agent Governance Layer │ │
│ │ (Risk scoring, policy enforcement, approval workflows) │ │
│ └─────────────────────────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ YOUR API GATEWAY (Kong, AWS API GW, Envoy) │
│ │ │
│ ▼ │
│ YOUR SIEM (Splunk, Datadog, Sentinel) │
│ │
└─────────────────────────────────────────────────────────────────────┘
ComponentPurposeASCEND Integration
IAMUser/service identityASCEND consumes identity via SSO/SAML
API GatewayTraffic routing, rate limitingASCEND provides Lambda Authorizer, Kong plugin
SIEMSecurity monitoringASCEND exports to Splunk CIM, Datadog
Secrets ManagerCredential storageASCEND retrieves (never stores) secrets

ASCEND Does NOT Require Agent Redesign

Integration is minimal and non-invasive:

# BEFORE: Your existing agent code
def process_customer_request(customer_id, action):
result = database.execute(action)
return result

# AFTER: Same code + 3 lines for governance
from ascend import AscendClient

client = AscendClient(api_key=os.getenv("ASCEND_API_KEY"))

def process_customer_request(customer_id, action):
# Add governance check (3 lines)
decision = client.evaluate_action(
action_type="database.query",
resource="customer_db"
)
if decision.denied:
return {"error": "Action blocked by policy"}

result = database.execute(action)
return result

Zero architectural changes required.


Data Handling Clarity

What Data Does ASCEND Process?

Data TypeStored?Encrypted?Customer Controlled?Retention
Action metadata (type, timestamp, agent_id)YesYes (AES-256)BYOK availableConfigurable
Risk scores and decisionsYesYes (AES-256)BYOK available7 years default
Audit logsYesYes (AES-256)BYOK availableCompliance-based
Agent credentialsNON/ANever leaves your environmentN/A
Request/response payloadsNON/AStays in your infrastructureN/A
Customer PII/PHINON/ANever transmitted to ASCENDN/A

What Crosses the Network Boundary?

┌─────────────────────────────────────────────────────────────────────┐
│ │
│ WHAT CROSSES TO ASCEND: WHAT STAYS IN YOUR ENVIRONMENT: │
│ ───────────────────────── ─────────────────────────────────│
│ │
│ ✓ Action type ✗ Request payloads │
│ ✓ Agent identifier ✗ Response data │
│ ✓ Timestamp ✗ Database queries │
│ ✓ Resource identifier ✗ API responses │
│ ✓ Risk context flags ✗ Customer credentials │
│ ✓ Environment (prod/staging) ✗ Secrets/tokens │
│ ✗ PII/PHI data │
│ ✗ Business logic │
│ │
└─────────────────────────────────────────────────────────────────────┘

Example: What Gets Sent

// SENT TO ASCEND (metadata only)
{
"agent_id": "financial-advisor-001",
"action_type": "database.query",
"resource": "customer_accounts",
"environment": "production",
"timestamp": "2026-01-21T10:30:00Z",
"context": {
"contains_pii": true,
"data_classification": "confidential"
}
}

// NOT SENT (stays in your environment)
{
"sql_query": "SELECT * FROM accounts WHERE customer_id = 12345",
"customer_name": "John Smith",
"account_balance": 50000.00,
"ssn": "***-**-****"
}

Compliance Boundaries

Shared Responsibility Model

FrameworkASCEND's RoleYour Role
SOC 2Audit logging, access controls, encryptionData classification, user training, incident response
HIPAAPHI access logging, encryption at restBAA execution, PHI handling procedures, workforce training
PCI-DSSCardholder data access controls, audit trailsPCI scope definition, network segmentation, key management
GDPRData processing records, deletion APIsLegal basis for processing, DPO appointment, DPIA
SOXSegregation of duties, change management logsFinancial controls design, management assertions
NIST 800-53AC, AU, SC controlsFull control implementation, continuous monitoring

ASCEND Compliance Coverage

┌─────────────────────────────────────────────────────────────────────┐
│ ASCEND COMPLIANCE CONTROLS │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ACCESS CONTROL (AC) │
│ ├─ AC-2: Account Management .............. ✓ User lifecycle │
│ ├─ AC-3: Access Enforcement .............. ✓ RBAC (6 levels) │
│ ├─ AC-6: Least Privilege ................. ✓ 23 granular perms │
│ └─ AC-17: Remote Access .................. ✓ API key + MFA │
│ │
│ AUDIT & ACCOUNTABILITY (AU) │
│ ├─ AU-2: Audit Events .................... ✓ All actions logged │
│ ├─ AU-3: Content of Audit Records ........ ✓ Who/what/when/where │
│ ├─ AU-9: Protection of Audit Info ........ ✓ WORM, hash-chain │
│ └─ AU-12: Audit Generation ............... ✓ Automatic logging │
│ │
│ SYSTEM & COMMUNICATIONS (SC) │
│ ├─ SC-8: Transmission Confidentiality .... ✓ TLS 1.3 │
│ ├─ SC-12: Cryptographic Key Management ... ✓ AWS KMS / BYOK │
│ ├─ SC-13: Cryptographic Protection ....... ✓ AES-256-GCM │
│ └─ SC-28: Protection at Rest ............. ✓ Encrypted storage │
│ │
└─────────────────────────────────────────────────────────────────────┘

Integration Boundaries

What ASCEND Integrates With

IntegrationDirectionData Flow
Your AI AgentsInboundAction metadata only
Your IAM (SSO/SAML)InboundIdentity tokens
Your SIEMOutboundAudit events (Splunk CIM)
Your Notification SystemsOutboundAlert webhooks
ServiceNowBidirectionalIncident tickets

What ASCEND Does NOT Integrate With

SystemReason
Your databasesASCEND never connects directly to your data stores
Your application codeNo runtime injection or bytecode modification
Your CI/CD pipelinesGovernance is runtime, not build-time
Your secrets managersASCEND retrieves its own secrets, not yours

Frequently Asked Questions

Does ASCEND see my API request/response payloads?

No. ASCEND only receives action metadata (type, resource, timestamp). The actual request and response data stays in your environment.

Does ASCEND store my customer data?

No. ASCEND stores only governance metadata: action types, decisions, audit logs. Customer PII/PHI is never transmitted to or stored by ASCEND.

Can ASCEND block legitimate actions?

Yes, by design. That's the purpose of governance. You control the policies that determine what gets blocked. Start with monitoring mode to tune before enforcing.

What happens if ASCEND is unavailable?

Configure fail_mode:

  • OPEN: Actions proceed (availability prioritized)
  • CLOSED: Actions blocked (security prioritized)

Recommendation: Use CLOSED for production, OPEN for development.

Does ASCEND require changes to my agent architecture?

Minimal changes. SDK integration requires 3 lines of code. Gateway integration (Lambda Authorizer, Kong, Envoy) requires zero code changes.


Summary

CategoryASCEND DoesASCEND Does NOT
DataStore action metadataStore request/response payloads
SecurityProvide governance layerReplace IAM/SIEM/API Gateway
IntegrationWork with existing stackRequire architectural redesign
ComplianceGenerate audit trailsHandle your compliance obligations
AI ModelsEvaluate actionsTrain on your data

Next Steps


Last Updated: 2026-01-21