Skip to main content

cartridges

Cartridges

IOA Cartridges are modular compliance and governance components that can be plugged into AI systems to ensure regulatory adherence and ethical operation.

Overview

Cartridges provide:

  • Compliance modules for specific regulations (GDPR, CCPA, HIPAA)
  • Security frameworks (ISO 27001, SOC 2)
  • Ethics modules (bias detection, fairness validation)
  • Industry standards (healthcare, finance, education)

Available Cartridges

GDPR (General Data Protection Regulation)

EU data protection and privacy regulation.

# Install GDPR cartridge
ioa cartridge add gdpr

# Check GDPR compliance
ioa score --cartridge gdpr

Features:

  • Data subject rights validation
  • Consent management
  • Data minimization checks
  • Right to be forgotten
  • Data portability
  • Privacy by design

CCPA (California Consumer Privacy Act)

California consumer privacy protection.

# Install CCPA cartridge
ioa cartridge add ccpa

# CCPA compliance check
ioa score --cartridge ccpa

Features:

  • Consumer rights validation
  • Data collection transparency
  • Opt-out mechanisms
  • Data sale restrictions
  • Non-discrimination compliance

HIPAA (Health Insurance Portability and Accountability Act)

Healthcare data protection.

# Install HIPAA cartridge
ioa cartridge add hipaa

# HIPAA compliance validation
ioa score --cartridge hipaa

Features:

  • PHI (Protected Health Information) handling
  • Administrative safeguards
  • Physical safeguards
  • Technical safeguards
  • Breach notification

Security Cartridges

ISO 27001

Information security management system.

ioa cartridge add iso27001

SOC 2

Service organization control reporting.

ioa cartridge add soc2

NIST Cybersecurity Framework

Cybersecurity risk management.

ioa cartridge add nist-csf

Ethics Cartridges

Bias Detection

Automated bias identification and mitigation.

ioa cartridge add bias-detection

Fairness Validation

Statistical fairness measurement.

ioa cartridge add fairness-validation

Explainability

AI decision explanation and transparency.

ioa cartridge add explainability

Cartridge Management

Installation

# Install single cartridge
ioa cartridge add <cartridge-name>

# Install multiple cartridges
ioa cartridge add gdpr ccpa hipaa

# Install with specific version
ioa cartridge add gdpr@2.1.0

Listing Cartridges

# List installed cartridges
ioa cartridge list

# List available cartridges
ioa cartridge list --available

# List with details
ioa cartridge list --verbose

Updating Cartridges

# Update all cartridges
ioa cartridge update

# Update specific cartridge
ioa cartridge update gdpr

# Check for updates
ioa cartridge update --check

Removing Cartridges

# Remove cartridge
ioa cartridge remove <cartridge-name>

# Remove multiple cartridges
ioa cartridge remove gdpr ccpa

# Force removal (ignore dependencies)
ioa cartridge remove <cartridge-name> --force

Cartridge Configuration

Configuration File

Each cartridge can be configured via cartridges.yaml:

cartridges:
gdpr:
enabled: true
version: "2.1.0"
config:
data_retention_period: "7y"
consent_mechanism: "explicit"
dpo_contact: "dpo@company.com"

ccpa:
enabled: true
version: "1.5.0"
config:
business_purpose: "analytics"
data_categories: ["personal", "sensitive"]
opt_out_mechanism: "web_form"

hipaa:
enabled: true
version: "1.2.0"
config:
covered_entity: true
business_associate: false
phi_encryption: "aes-256"

Environment Variables

# Cartridge-specific settings
export GDPR_DATA_RETENTION_PERIOD="7y"
export CCPA_BUSINESS_PURPOSE="analytics"
export HIPAA_PHI_ENCRYPTION="aes-256"

Custom Cartridges

Creating a Cartridge

# Create new cartridge
ioa cartridge create my-custom-cartridge

# This creates the structure:
# cartridges/my-custom-cartridge/
# ├── cartridge.yaml
# ├── requirements.txt
# ├── tests/
# └── src/
# ├── __init__.py
# ├── validator.py
# └── config.py

Cartridge Structure

# cartridge.yaml
name: "my-custom-cartridge"
version: "1.0.0"
description: "Custom compliance cartridge"
author: "Your Organization"
license: "MIT"

dependencies:
- ioa-core>=2.5.0
- python>=3.8

requirements:
- "Custom compliance requirement 1"
- "Custom compliance requirement 2"

scoring:
weight: 0.1
components:
- validation
- reporting
- monitoring

Implementation

# cartridges/my-custom-cartridge/src/validator.py
from ioa.cartridge import BaseCartridge
from ioa.scoring import ScoreComponent

class MyCustomCartridge(BaseCartridge):
def __init__(self, config):
super().__init__(config)
self.name = "my-custom-cartridge"

def validate(self, system_state):
"""Validate custom compliance requirements."""
violations = []
score = 1.0

# Custom validation logic
if not self.check_requirement_1(system_state):
violations.append("Requirement 1 not met")
score -= 0.3

if not self.check_requirement_2(system_state):
violations.append("Requirement 2 not met")
score -= 0.2

return ScoreComponent(
name=self.name,
score=max(0.0, score),
violations=violations
)

def check_requirement_1(self, system_state):
"""Check custom requirement 1."""
# Implementation here
return True

def check_requirement_2(self, system_state):
"""Check custom requirement 2."""
# Implementation here
return True

Testing Cartridges

# cartridges/my-custom-cartridge/tests/test_validator.py
import pytest
from src.validator import MyCustomCartridge

class TestMyCustomCartridge:
def test_validation_success(self):
cartridge = MyCustomCartridge({})
system_state = {"requirement_1": True, "requirement_2": True}

result = cartridge.validate(system_state)
assert result.score == 1.0
assert len(result.violations) == 0

def test_validation_failure(self):
cartridge = MyCustomCartridge({})
system_state = {"requirement_1": False, "requirement_2": False}

result = cartridge.validate(system_state)
assert result.score < 1.0
assert len(result.violations) > 0

Cartridge Registry

Public Registry

Cartridges are published to the IOA Cartridge Registry:

# Search cartridges
ioa cartridge search "privacy"

# Show cartridge details
ioa cartridge info gdpr

# Show cartridge documentation
ioa cartridge docs gdpr

Private Registry

For enterprise use, set up a private registry:

# Configure private registry
ioa cartridge config --registry https://internal-registry.company.com

# Install from private registry
ioa cartridge add internal-cartridge

Best Practices

Cartridge Selection

  1. Identify Requirements - Map regulatory needs to cartridges
  2. Version Compatibility - Ensure cartridge versions are compatible
  3. Performance Impact - Consider cartridge performance overhead
  4. Maintenance - Choose well-maintained cartridges
  5. Documentation - Prefer cartridges with good documentation

Configuration Management

  1. Environment-Specific - Different configs for dev/staging/prod
  2. Secret Management - Use secure secret storage
  3. Version Control - Track configuration changes
  4. Validation - Validate configurations before deployment
  5. Monitoring - Monitor cartridge performance

Development Guidelines

  1. Single Responsibility - One cartridge per compliance area
  2. Clear Interfaces - Well-defined APIs and contracts
  3. Comprehensive Testing - Full test coverage
  4. Documentation - Clear usage and configuration docs
  5. Error Handling - Graceful error handling and reporting

Troubleshooting

Common Issues

Cartridge not found:

# Update cartridge registry
ioa cartridge update --registry

# Check registry connectivity
ioa cartridge ping

Version conflicts:

# Check dependencies
ioa cartridge deps <cartridge-name>

# Resolve conflicts
ioa cartridge resolve

Configuration errors:

# Validate configuration
ioa cartridge validate

# Show configuration errors
ioa cartridge config --check

Debug Mode

# Enable debug logging
export IOA_LOG_LEVEL=DEBUG
ioa cartridge --debug <command>

Getting Help