Skip to content

Commit d415fb5

Browse files
committed
docs: explain Docker and correlated audit events
1 parent 46b1861 commit d415fb5

1 file changed

Lines changed: 28 additions & 16 deletions

File tree

examples/safe-agent-api/README.md

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,32 @@
11
# Safe Agent API
22

3-
Projeto executável do **AI Agent Production Checklist**. Ele demonstra uma camada determinística de autorização para tools de agentes sem depender de LLM ou API key.
3+
Projeto executável do **AI Agent Production Checklist**. Demonstra uma camada determinística de autorização, aprovação e auditoria para tools de agentes sem depender de LLM ou API key.
44

55
## O que demonstra
66

77
- tenant isolation;
88
- least privilege;
99
- approval gate humano;
1010
- bloqueio de tool destrutiva;
11+
- audit event estruturado;
12+
- `request_id` propagado como `correlation_id`;
1113
- contratos Pydantic;
1214
- API FastAPI com OpenAPI automática;
13-
- testes de segurança com pytest.
15+
- testes de segurança com pytest;
16+
- execução via Docker.
17+
18+
## Rodar com Docker
19+
20+
```bash
21+
git clone https://github.com/Videirafo/AI-Agent-Production-Checklist.git
22+
cd AI-Agent-Production-Checklist/examples/safe-agent-api
23+
docker compose up --build
24+
```
25+
26+
Abra:
27+
28+
- API docs: `http://127.0.0.1:8000/docs`
29+
- health: `http://127.0.0.1:8000/health`
1430

1531
## Clonar e abrir no VS Code
1632

@@ -20,15 +36,13 @@ cd AI-Agent-Production-Checklist/examples/safe-agent-api
2036
code .
2137
```
2238

23-
Crie o ambiente e instale:
24-
2539
### Windows PowerShell
2640

2741
```powershell
2842
py -m venv .venv
2943
.\.venv\Scripts\Activate.ps1
3044
python -m pip install -e ".[dev]"
31-
fastapi dev
45+
fastapi dev app/main.py
3246
```
3347

3448
### Linux/macOS
@@ -37,21 +51,16 @@ fastapi dev
3751
python3 -m venv .venv
3852
source .venv/bin/activate
3953
python -m pip install -e ".[dev]"
40-
fastapi dev
54+
fastapi dev app/main.py
4155
```
4256

43-
Abra:
44-
45-
- API docs: `http://127.0.0.1:8000/docs`
46-
- health: `http://127.0.0.1:8000/health`
47-
4857
## Executar testes
4958

5059
```bash
5160
pytest
5261
```
5362

54-
## Exemplo de política
63+
## Políticas
5564

5665
| Tool | Regra |
5766
|---|---|
@@ -61,20 +70,23 @@ pytest
6170

6271
A autorização é executada **fora do prompt/modelo**. Um LLM pode sugerir uma ação, mas não concede a si mesmo permissão para executá-la.
6372

64-
## Teste manual
73+
## Audit + correlation
74+
75+
`POST /v1/run-demo` recebe um `request_id`. A resposta inclui um `audit_event` cujo `correlation_id` usa o mesmo identificador. Assim uma decisão permitida ou negada pode ser ligada à execução e ao diagnóstico operacional.
6576

66-
POST `/v1/tool-check`:
77+
Exemplo:
6778

6879
```json
6980
{
81+
"request_id": "req-demo-002",
7082
"actor_tenant_id": "alpha",
7183
"resource_tenant_id": "alpha",
7284
"tool": "send_notification",
73-
"human_approved": false
85+
"human_approved": true
7486
}
7587
```
7688

77-
O resultado deve indicar `human_approval_required`.
89+
A resposta registra `allowed`, `executed`, `reason`, tenants, tool e `human_approved`, sem armazenar prompt ou conteúdo de conversa.
7890

7991
## Fazer sua branch
8092

0 commit comments

Comments
 (0)