<!-- https://avertgate.com/tr/docs/architecture · Nasıl çalışır -->

# Mimari

AvertGate hibrit bir mimari kullanır: denetim müşterinin kendi ağında çalışır, yönetim düzlemi ise bulutta.

## İki düzlem

|  | Data plane | Control plane |
| --- | --- | --- |
| Nerede | Müşterinin makinesi / ağı (on-premise, stdio) | Barındırılan web uygulaması ve veritabanı |
| Ne çalıştırır | MCP proxy, reverse proxy, SDK; tarayıcılar; politika motoru | Panel, politika yönetimi, ajan kayıtları, olay görüntüleme |
| Ne görür | Araç çağrıları, sonuçlar, dosya içerikleri, SQL sorguları | Yalnızca maskelenmiş denetim olayları |

## Ne dışarı çıkar?

Araç çağrıları, sonuçlar, dosya içerikleri ve sorgular **müşteri ağı içinde işlenir**. Control plane'e yalnızca *maskelenmiş* denetim olayları gönderilir: hangi araç, maskelenmiş argümanlar, karar ve kural. Bu, gecikmeyi düşürür ve veri yerleşimi (KVKK/GDPR gibi) gereksinimlerini karşılamayı kolaylaştırabilir; uyum yükümlülüğü yine sizdedir. İki istisna vardır. Birincisi Slack onayıdır: onay mesajına çağrının argümanları maskelenmeden yazılır. İkincisi AI Guard'dır: onu bir bulut sağlayıcısına yönlendirirseniz (varsayılan sağlayıcı ayarı TypeSafe'in bulut uç noktasıdır) denetlenen içerik o sağlayıcıya gider. Yerel model (Ollama veya vLLM) içeriği ağınızda tutar. AI Guard, siz açmadıkça kapalıdır.

## Veri akışı tablosu

| Veri | Nerede işlenir | Yönetim paneline gider mi? | Üçüncü tarafa gidebilir mi? |
| --- | --- | --- | --- |
| Araç çağrısı argümanları, sonuçlar, dosya içerikleri, SQL sorguları | Müşteri ağı (ağ geçidi) | Hayır | Yalnızca AI Guard bulut sağlayıcıyla açıksa (aşağıya bakın) |
| Denetim olayı (araç, karar, kural, neden) | Ağ geçidi, yerel denetim kaydı | Evet; argümanlar **maskelenmiş** | Hayır |
| AI Guard: denetlenen içerik | Varsayılan **kapalı**. Yerel modelle (Ollama/vLLM) ağınızda; bulut sağlayıcıyla sağlayıcıda | Hayır | **Evet**, bulut sağlayıcı seçilirse içerik o sağlayıcıya gider |
| Slack onay mesajı | Ağ geçidinden Slack'e | Hayır | **Evet; argümanlar maskelenmeden** Slack'e yazılır |
| Politika | Panelde yönetilir, ağ geçidi açılışta çeker | Panelden ağ geçidine | Hayır |

> **Slack onayında argümanlar maskelenmez**: Onay mesajı çağrının argümanlarını olduğu gibi gösterir; böylece onaylayan ne onayladığını görür. Argümanlarında kişisel veri ya da sır olabilecek araçları (örneğin `send_email`) onaya bağlıyorsanız, Slack kanalının erişimini buna göre sınırlayın.

## Politika ve olay akışı

1. Başlangıçta ağ geçidi, ajan anahtarıyla `GET /api/gateway/resolve` çağırarak ajanın politikasını alır.
2. Çalışma sırasında olaylar `POST /api/events/ingest` ile toplu (en çok 100) gönderilir.
3. Panelde politika değiştiğinde ağ geçidi yeni sürümü alır.

Bulut bağlantısı olmadan da tam yerel çalışılabilir: `POLICY_PATH` ile yerel dosya, yerel SQLite denetim kaydı.

## Dağıtım biçimleri

- Bağımsız çalıştırılabilir dosya: derlendiği işletim sistemi için üretilir (Windows'ta `avertgate.exe`, macOS ve Linux'ta `avertgate`). İşletim sistemi ve işlemci mimarisi başına ayrı derleme gerekir; hazır paketler için satış ekibine ulaşın.
- Kurumsal Docker imajı `avertgate/gateway`.
- `npx @avertgate/cli` ile hızlı POC.

## Hava boşluklu ortam

AI Guard için bulut yerine yerel Ollama veya vLLM kullanabilirsiniz; böylece tüm yol ağınızın içinde kalır.
