Access Sessions

Access Sessions enable AI systems to use real data with strict governance, explicit purpose, and automatic evidence generation.

What are access sessions

An Access Session is a time-bound, purpose-specific connection to data that automatically generates legal evidence.

Sessions have a clear lifecycle:

  • Creation: Policy evaluation approves access
  • Active period: Data is accessed with governance
  • Termination: Access expires or is revoked
  • Evidence: Complete record is preserved

Every aspect of the session is tracked, governed, and provable.

How to use access sessions

1. Create a Session

Request access to data with explicit parameters:

import xase

client = xase.Client(api_key="sk_...")

# Request access (triggers policy evaluation)
session = client.access(
    dataset="medical-records-2024",
    purpose="model-training",
    duration="30d",
    model_id="research-v2"
)

2. Use the Session

Access data through the governed session interface:

# Stream data batches for training
for batch in session.stream():
    model.train(batch)

# Or access specific entries
patient_data = session.get("patient_123")

# Maintain full governance 
processed_data = session.with_tracking(
    lambda data: process(data),
    operation="preprocessing"
)

3. View Session Details

Access details about the active session:

# Get session details
print(session.id)          # "sess_8a72b9c1..."
print(session.dataset)     # "medical-records-2024" 
print(session.purpose)     # "model-training"
print(session.created_at)  # "2026-01-15T14:32:00Z"
print(session.expires_at)  # "2026-02-14T14:32:00Z"
print(session.status)      # "ACTIVE"

# Check governance
print(session.policy_id)         # "policy_medical_research"
print(session.authorized_by)     # "data_admin@hospital.com"
print(session.authorization_at)  # "2026-01-15T14:30:00Z"

# Check usage
print(session.usage_stats)  # {"rows_accessed": 1452, "operations": 28}

4. Access Evidence

Generate evidence of the session:

# Get evidence bundle
evidence = session.get_evidence()
print(evidence.url)  # "https://xase.ai/evidence/bundle_a8f2c..."

# Download for offline verification
evidence.download("./session_evidence.zip")

# Contains:
# - session_details.json
# - policy_applied.json
# - authorization_proof.json
# - access_logs.json
# - usage_metrics.json
# - signature.sig
# - verify.sh

5. End Session

Explicitly terminate a session:

# Terminate the session early
session.close(reason="Training complete")

# Session automatically terminates if:
# - Duration expires
# - Policy is violated
# - Data holder revokes access

Key features

Automatic Tracking

Every data access, operation, and transformation is automatically tracked without developer effort.

Revocable Access

Data holders can revoke access at any time, immediately terminating all active sessions.

Usage Metering

Automatic measurement of data usage for billing and compliance purposes.

Evidence Generation

Complete evidence package with cryptographic proof of policy compliance.

Next steps

© 2025 Xasefounders@xase.ai