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.sh5. 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 accessKey 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.
