BASIS/Trust Model

Trust Model

Quantified trust scoring with tiers and dynamics

Overview

BASIS uses a quantified trust model where entities earn trust through successful operations. Trust is not binary (allow/deny) but graduated on a 0-1000 scale with six tiers that progressively unlock capabilities.

Trust Score Range

01000
SandboxProvisionalStandardTrustedCertifiedAutonomous

Six Trust Tiers

Sandbox

0-99

New or untrusted entities. Completely sandboxed for evaluation.

  • Isolated testing only
  • No external access
  • No data persistence

Provisional

100-299

Initial trust established. Limited read access, heavy monitoring.

  • Read public data
  • Internal messaging
  • Basic queries

Standard

300-499

Established track record. Standard operations with normal oversight.

  • Write internal data
  • Limited external read
  • Standard workflows

Trusted

500-699

Proven reliability. External interactions permitted with light oversight.

  • External API calls
  • Email communication
  • Extended permissions

Certified

700-899

High trust verified. Financial and sensitive operations with minimal oversight.

  • Financial transactions
  • Sensitive data access
  • Privileged operations

Autonomous

900-1000

Maximum trust achieved. Complete autonomy within defined policy boundaries.

  • Full autonomy within policy
  • Administrative functions
  • Audit-only oversight

Trust Dynamics

Decay

Trust scores decay over time to prevent stale high-trust entities. The decay follows a half-life model:

DECAY_HALF_LIFE_DAYS = 7

decay_factor = 0.5 ^ (days_since_last_action / DECAY_HALF_LIFE_DAYS)
decayed_score = current_score * decay_factor

Example: An agent with score 800 that takes no action for 7 days decays to 400.

Failure Amplification

Failures hurt trust more than successes help. This asymmetry encourages conservative behavior:

FAILURE_MULTIPLIER = 3.0

if action_delta < 0:
    action_delta = action_delta * FAILURE_MULTIPLIER

Example: A failed action that would normally cost -10 points instead costs -30 points.

Tier Boundaries

Trust tiers have hard boundaries. An entity cannot skip tiers and must progress through each level:

TransitionMinimum ActionsSuccess Rate
Sandbox → Provisional10100%
Provisional → Standard5095%
Standard → Trusted10098%
Trusted → Certified50099%
Certified → Autonomous100099.9%

Trust Score Algorithm

# Constants
DECAY_HALF_LIFE_DAYS = 7
FAILURE_MULTIPLIER = 3.0

# Action deltas by outcome
ACTION_DELTAS = {
    "success_low_risk": 5,
    "success_medium_risk": 10,
    "success_high_risk": 25,
    "success_critical_risk": 50,
    "failure_low_risk": -10,
    "failure_medium_risk": -25,
    "failure_high_risk": -50,
    "failure_critical_risk": -100,
    "policy_violation": -200,
    "security_incident": -500
}

def calculate_trust_score(
    current_score: int,
    days_since_last_action: float,
    action_outcome: str
) -> int:
    # Apply decay
    decay_factor = 0.5 ** (days_since_last_action / DECAY_HALF_LIFE_DAYS)
    decayed_score = current_score * decay_factor

    # Get delta for action
    delta = ACTION_DELTAS.get(action_outcome, 0)

    # Apply failure multiplier
    if delta < 0:
        delta = delta * FAILURE_MULTIPLIER

    # Calculate new score with bounds
    new_score = max(0, min(1000, int(decayed_score + delta)))

    return new_score

Tier Derivation

def get_trust_tier(score: int) -> str:
    if score >= 900:
        return "autonomous"
    elif score >= 700:
        return "certified"
    elif score >= 500:
        return "trusted"
    elif score >= 300:
        return "standard"
    elif score >= 100:
        return "provisional"
    else:
        return "sandbox"