> ## Documentation Index
> Fetch the complete documentation index at: https://docs.responsibleailabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Indien DPDP: Übersicht

> Die komplette Indien DPDP Act 2023 Compliance Suite: sieben Endpoints für PII-Scanning, Entscheidungsgating, Ereignisprotokollierung, regulatorische Timer und Audit-Nachweise — mit dem vollständigen Integrations-Flow.

<Info>
  **Konzept:** [Indien DPDP Leitfaden](/concepts/india-dpdp) | **SDK:** [Python DPDP](/sdk/python/dpdp) | **Frameworks:** [Compliance-Übersicht](/api-reference/compliance-overview)
</Info>

Die Indien DPDP Suite operationalisiert den **Digital Personal Data Protection Act, 2023** für KI-Systeme. Während eine einmalige Compliance-Prüfung die Frage „ist dieser Text jetzt konform?" beantwortet, deckt die DPDP Suite den vollständigen Lebenszyklus der Reise eines Datenhauptlings ab: indische Personendaten erkennen, Entscheidungen gegen die Verpflichtungen des Gesetzes gating, die Ereignisse aufzeichnen, die die Compliance nachweisen, gesetzliche Fristen verfolgen und Audit-taugliche Nachweise auf Abruf bereitstellen.

Alle sieben Endpoints sitzen unter einem Basispfad und geben die gleiche Envelope zurück, sodass Sie diese inkrementell einführen können – beginnen Sie mit `scan`, fügen Sie `session` und `emit` hinzu, wenn Sie statusbehaftete Nachverfolgung benötigen, und greifen Sie auf `evidence` zur Audit-Zeit zu.

```
https://api.responsibleailabs.ai/railscore/v1/compliance/dpdp
```

## Zwei Möglichkeiten, DPDP auszuführen

RAIL bietet die gleiche DPDP-Fähigkeit auf zwei Pfaden mit gegensätzlichen Datenfluss-Garantien. Diese Seite dokumentiert die **gehostete** API.

<CardGroup cols={2}>
  <Card title="Gehostet (diese API)" icon="cloud">
    Ihre Anwendung sendet Inhalte an `api.responsibleailabs.ai`. Multi-Tenant, organisationsscoped, abgerechnet pro Aufruf. Alles auf dieser Seite läuft hier.
  </Card>

  <Card title="Enterprise selbstgehostet" icon="server">
    Der RAIL Agent läuft in Ihrer eigenen VPC oder luftgestützten Umgebung; Inhalte verlassen niemals Ihre Infrastruktur. Die gleichen sieben Endpoints sind dort für Single-Tenant, lizenzierte Deployments gespiegelt.
  </Card>
</CardGroup>

## Die sieben Endpoints

| Endpoint                                    | Methode | Credits | Was er tut                                                                                                                                                                        |
| ------------------------------------------- | ------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [`/scan`](/api-reference/dpdp-scan)         | POST    | 0,5     | Erkennung indischer PII (Aadhaar mit Verhoeff-Checksumme, PAN, UPI, Mobilfunk und 6 weitere), Kindersignale (S.9) und Zweckabweichung (S.4). Erkennen, maskieren oder blockieren. |
| [`/evaluate`](/api-reference/dpdp-evaluate) | POST    | 0,3     | Deterministisches `allow` / `block` / `require_action` Gate für eine Aktion, abgebildet auf DPDP S.4–S.16.                                                                        |
| [`/emit`](/api-reference/dpdp-emit)         | POST    | 0,1     | Erfassen Sie 1–50 Compliance-Ereignisse (Einwilligung, Benachrichtigung, DSR, Datenschutzverletzung). Auto-Starts regulatory timers.                                              |
| [`/require`](/api-reference/dpdp-require)   | POST    | 0,3     | Liste die erforderlichen Aktionen für einen bestimmten Workflow-Schritt.                                                                                                          |
| [`/evidence`](/api-reference/dpdp-evidence) | POST    | 2,0     | Generieren Sie ein Audit-taugliches Nachweispaket (DSR-Antwort, Datenschutzverletzungsmeldung, Einwilligungs-Audit, SDF-Jahresbericht). Pro+ Pläne.                               |
| [`/session`](/api-reference/dpdp-session)   | POST    | 0       | Erstellen oder rufen Sie eine statusbehaftete Compliance-Sitzung für eine Datenhauptlings-Reise ab.                                                                               |
| [`/timers`](/api-reference/dpdp-timers)     | GET     | 0       | Liste regulatorische Fristen-Timer, gefiltert nach Status, Typ oder wie bald sie fällig sind.                                                                                     |

<Tip>
  Abrechnung auf jeder DPDP-Route ist **von Design aus fire-and-forget** — ein Abrechnungs-Hiccup blockiert niemals eine Compliance-Entscheidung. Verwenden Sie [`/verify`](/api-reference/overview) für eine Pre-Flight-Saldoprüfung, wenn Sie eine benötigen. `session` und `timers` sind immer kostenlos.
</Tip>

## Wie die Teile zusammenpassen

Eine typische Integration führt eine einzelne **Sitzung** durch die Reise des Benutzers. Ereignisse, die Sie `emit`, verändern den Sitzungszustand und starten die gesetzlichen Timer; `scan` und `evaluate` treffen Entscheidungen im Moment; `evidence` liest die angesammelte Spur, wenn ein Auditor oder Regulator fragt.

```mermaid theme={null}
flowchart TD
    Start(["Datenhauptlings-Reise beginnt"]) --> Session["POST /session — erstellen<br/>(Zweck erforderlich)"]
    Session --> Notice["POST /emit — notice.shown"]
    Notice --> Consent["POST /emit — consent.granted"]
    Consent --> Scan["POST /scan — Erkennung indischer PII<br/>+ Kindersignale + Zweckabweichung"]
    Scan --> Gate{"POST /evaluate<br/>allow / block / require_action?"}
    Gate -- "allow" --> Proceed["Daten verarbeiten"]
    Gate -- "require_action" --> Require["POST /require — Liste Verpflichtungen"]
    Gate -- "block" --> Stop["Anhalten und Abhilfe"]
    Proceed --> DSR["POST /emit — dsr.received / breach.detected"]
    DSR --> Timers["GET /timers — verfolge S.13 / Datenschutzverletzungsfristen"]
    Timers --> Evidence["POST /evidence — Audit-Paket auf Abruf"]
```

## Response Envelope

Jeder Endpoint gibt die gleiche Zwei-Schlüssel-Envelope zurück. `result` enthält die Endpoint-spezifische Payload; `credits_consumed` meldet, was der Aufruf kostete.

```json theme={null}
{
  "result": { "...": "endpoint-specific" },
  "credits_consumed": 0.5
}
```

## Authentifizierung

Alle Routen erfordern einen Bearer-Token — einen API-Schlüssel (`rail_...`) oder ein JWT. Übergeben Sie ihn bei jeder Anfrage:

```bash theme={null}
-H "Authorization: Bearer YOUR_RAIL_API_KEY"
```

## Ein kompletter Durchlauf

Der Flow unten verfolgt eine Kreditantragreise von Ende zu Ende. Es verwendet [curl](https://curl.se); das [Python SDK](/sdk/python/dpdp) spiegelt jeden Aufruf als `client.dpdp.*`.

<Steps>
  <Step title="Öffnen Sie eine Sitzung">
    Eine Sitzung verknüpft Ereignisse, Scans und Timer mit einer Datenhauptlings-Reise. `config.purpose` ist erforderlich.

    ```bash theme={null}
    curl -X POST https://api.responsibleailabs.ai/railscore/v1/compliance/dpdp/session \
      -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "action": "create",
        "config": { "purpose": "loan_advisory", "entity_type": "data_fiduciary" }
      }'
    ```

    Die Antwort gibt eine `session_id` zurück, die Sie bei späteren Aufrufen wiederverwenden.
  </Step>

  <Step title="Benachrichtigung und Einwilligung aufzeichnen">
    `emit` schreibt die Ereignisse, die später beweisen, dass Sie Ihre Benachrichtigungs- (S.5) und Zustimmungsverpflichtungen (S.6) erfüllt haben.

    ```bash theme={null}
    curl -X POST https://api.responsibleailabs.ai/railscore/v1/compliance/dpdp/emit \
      -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "session_id": "sess_1a2b3c",
        "events": [
          { "type": "notice.shown", "data": { "user_id": "u_42" } },
          { "type": "consent.granted", "data": { "user_id": "u_42", "purpose": "loan_advisory" } }
        ]
      }'
    ```
  </Step>

  <Step title="Scannen Sie Inhalte auf indische PII">
    Bevor Sie Modellausgabe speichern oder senden, scannen Sie sie. `pii_action` kann `detect`, `mask` oder `block`.

    ```bash theme={null}
    curl -X POST https://api.responsibleailabs.ai/railscore/v1/compliance/dpdp/scan \
      -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "content": "Applicant PAN ABCDE1234F, mobile 9876543210.",
        "config": { "pii_action": "mask", "purpose": "loan_advisory" }
      }'
    ```
  </Step>

  <Step title="Gate die Entscheidung">
    `evaluate` gibt ein deterministisches Urteil für die Aktion zurück, die Sie durchführen werden.

    ```bash theme={null}
    curl -X POST https://api.responsibleailabs.ai/railscore/v1/compliance/dpdp/evaluate \
      -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "action": "make_decision",
        "context": { "user_id": "u_42", "purpose": "loan_advisory" },
        "session_id": "sess_1a2b3c"
      }'
    ```

    Ein `verdict` von `require_action` sagt Ihnen, dass Sie `/require` für die ausstehenden Verpflichtungen anrufen sollen.
  </Step>

  <Step title="Verfolge Fristen und produziere Nachweise">
    Wenn ein Datenhauptling ein Recht ausübt oder eine Datenschutzverletzung auftritt, startet `emit` den gesetzlichen Timer; `timers` listet auf, was sich nähert; `evidence` sammelt das Audit-Paket.

    ```bash theme={null}
    # Eine Rechtsanfrage startet die S.13 Antwortuhr
    curl -X POST https://api.responsibleailabs.ai/railscore/v1/compliance/dpdp/emit \
      -H "Authorization: Bearer YOUR_RAIL_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{ "events": [ { "type": "dsr.received", "data": { "user_id": "u_42", "request_id": "r_9" } } ] }'

    # Was ist in den nächsten 30 Tagen fällig?
    curl "https://api.responsibleailabs.ai/railscore/v1/compliance/dpdp/timers?status=active&approaching_days=30" \
      -H "Authorization: Bearer YOUR_RAIL_API_KEY"
    ```
  </Step>
</Steps>

## Fehler

DPDP-Routen verwenden Standard-HTTP-Statuscodes. Validierungsprobleme geben `400` mit einer `error` Nachricht zurück; `evidence` auf einem Plan unter Pro gibt `403` mit `code: TIER_INSUFFICIENT` zurück.

```json theme={null}
{ "error": "Evidence generation requires Pro+ tier.", "code": "TIER_INSUFFICIENT" }
```

<Warning>
  Die DPDP Suite protokolliert niemals Rohinhalte oder erkannte PII-Werte — nur ein verkürztes, nicht-identifizierendes Snippet für Analytik. Aadhaar, PAN und andere Identifikatoren werden maskiert oder vor dem Schreiben gelöscht.
</Warning>

## Wo es als nächstes hingeht

<CardGroup cols={2}>
  <Card title="Indien DPDP Leitfaden" icon="book" href="/concepts/india-dpdp">
    Die Konzepte hinter der Suite: Verpflichtungen, Lebenszyklus und welcher Endpoint welcher Abschnitt des Gesetzes abgebildet wird.
  </Card>

  <Card title="Python SDK: DPDP" icon="python" href="/sdk/python/dpdp">
    Jeder Endpoint als typisierte `client.dpdp.*` Methode, plus Client-seitiges PII-Scanning und das System-Audit.
  </Card>

  <Card title="Scan Endpoint" icon="magnifying-glass-chart" href="/api-reference/dpdp-scan">
    Indische PII-Erkennung, Kindersignale und Zweckabweichung im Detail.
  </Card>

  <Card title="Evidence Endpoint" icon="file-shield" href="/api-reference/dpdp-evidence">
    Audit-taugliche Pakete für DSR-, Datenschutzverletzungs-, Zustimmungs- und SDF-Berichterstattung.
  </Card>
</CardGroup>
