# Утечка implementation type через API

RuleID: api.implementation-type-leakage@1.0.0
Status: accepted-subset
Catalog snapshot: 4558458d

Accepted subset is bounded. If required evidence is incomplete, the affected result is unknown.

## V-ARCH-08 — Утечка implementation type через API

Внутренний тип в публичной сигнатуре заставляет пользователей API знать о реализации и может нарушать границы модулей.

Status: accepted-subset

Scope notes: Принят bounded source subset по контракту задачи. Подтверждение распространяется только на допущенные source forms, профиль сборки, positive/negative и unknown-границы из приёмки.

### Before (illustrative)

```swift
// Policy: DatabaseRow не должен быть частью внешнего API.
public func load() -> DatabaseRow { /* ... */ }
```

### After (illustrative)

```swift
public func load() -> UserDTO { /* ... */ }
```

Boundary: Сам по себе public type не нарушает policy

---
Language: ru
Canonical: https://docs.swift-analyzer.com/catalog/api.implementation-type-leakage/
Source revision: 4558458d
