Metadata-Version: 2.4
Name: veto2
Version: 0.1.0
Summary: Real-time governance and human-in-the-loop approval for AI agents.
Author-email: Veto Team <hello@veto.sh>
Project-URL: Homepage, https://vetoback-production.up.railway.app
Project-URL: Bug Tracker, https://github.com/veto-sh/veto/issues
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Intended Audience :: Developers
Requires-Python: >=3.8
Description-Content-Type: text/markdown
Requires-Dist: requests>=2.25.0

# Veto2 SDK (veto2)

🛡️ **Stop AI Agents from going rogue.** Add strict access control and human-in-the-loop approval to your AI agents with one line of code.

## Installation

```bash
pip install veto2
```

## Quick Start

### 1. Login
First, set up your credentials. This will save your API key locally.

```python
import veto2

veto2.login() # Follow the prompt to enter your API key
```

### 2. Protect Your Tools
Wrap any sensitive function (tool) with the `@veto2.guard()` decorator.

```python
import veto2

@veto2.guard(name="delete_database")
def delete_everything():
    # This logic will only execute if APPROVED in the Veto dashboard
    db.drop_all()
    return "Action performed"

# When called, this will verify with the backend
delete_everything()
```

## How it Works

- **Interception**: The SDK intercepts the function call before it executes.
- **Verification**: It sends the tool name and (masked) parameters to the Veto backend.
- **Decision**: 
    - `APPROVED`: Function executes normally.
    - `BLOCKED`: Raises `PermissionDeniedError`.
    - `PAUSE`: The SDK polls until a human manager approves/rejects the action via the dashboard.

## Security & Privacy
Veto2 automatically masks potential PII (like emails) locally before sending any data to our servers.

---
For more information, visit [Veto](https://vetoback-production.up.railway.app).
