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

# Datenrichtlinie für Connectoren

> Was jeder Connector synchronisiert und ausschließt: 24-Monats-Backfill, ausgeschlossene Anmelde- und Ausweisfelder für Gmail, Slack und CRMs.

Jeder Connector unterliegt einer Datenrichtlinie, die entscheidet, was die Quelle verlässt und was in einem Container landet. Die Richtlinie wird zweifach durchgesetzt – einmal, wenn Conare den Upstream-Sync konfiguriert (quellseitige Felddeaktivierungen, Verschleierung, Zeilenfilter, Cutoff), und erneut im Ingest-Mapper, während die Zeilen einströmen – sodass eine Quelle, die einen Upstream-Schalter stillschweigend ignoriert, dennoch niemals einen ausgeschlossenen Wert in den Speicher gelangen lässt.

Sechs Connectoren unterliegen heute der Startrichtlinie: **Gmail, Slack, Affinity, Salesforce, HubSpot und Attio**.

## Globale Garantien

Diese gelten für jeden Connector unter der Richtlinie:

* **24-Monats-Backfill-Grenze.** Aktivitäten, die älter als 24 Monate sind (E-Mails, Nachrichten, CRM-Aktivitäten, Aufgaben, Notizen, Engagements), werden nicht synchronisiert.
* **Dauerhafte CRM-Entitäten sind stets enthalten.** CRM-Datensätze im aktuellen Zustand – `accounts`, `contacts`, `companies`, `organizations`, `persons`/`people`, `opportunities`, `deals`, `leads`, `lists`, `list_entries`, `field_values`, `pipelines`, `products` – werden unabhängig vom Alter vollständig synchronisiert. Ein fünf Jahre alter Account landet weiterhin. Nur ihre Aktivitäts-Streams sind begrenzt.
* **Anmeldedaten und staatliche/finanzielle IDs werden an der Quelle entfernt.** Felder, die Muster für Anmeldedaten/Geheimnisse (`password`, `secret`, `api_key`, `token`, `client_secret`, `private_key`, `access_key`) sowie Muster für staatliche/finanzielle IDs (`ssn`, `social_security`, `tax_id`, `ein`, `vat`, `iban`, `swift`/`bic`, `routing_number`, `credit_card`, `cvv`/`cvc`, `passport`, `national_id`, `drivers_license`, `aadhaar`, `bank_account`, `bank_number`) erfüllen, werden deaktiviert, bevor die Zeilen das Quellsystem verlassen.
* **Deal-Beträge und Umsätze bleiben erhalten.** Geschäftskritische numerische Felder (`amount`, `annual_revenue`, `account_number` als CRM-Kennung) werden ausdrücklich bewahrt – die Ausschlussliste zielt auf Geheimnisse und personenbezogene finanzielle IDs, nicht auf kommerzielle Daten.

## Richtlinie je Connector

### Gmail

|                        |                                                                    |
| ---------------------- | ------------------------------------------------------------------ |
| Backfill               | Letzte 24 Monate an E-Mails                                        |
| Ausgeschlossene Labels | `SPAM`, `TRASH`, `DRAFT`, `CATEGORY_PROMOTIONS`, `CATEGORY_SOCIAL` |
| Was landet             | Betreff, Absender, Empfänger und Textkörper                        |
| Was niemals landet     | Anhänge, Roh-MIME, Transport-Header                                |

Ausgeschlossene Labels werden an der Quelle mit einem `ArrayDoesNotContain`-Zeilenfilter auf `labelIds` gefiltert, sodass Werbe- und Social-Mails gar nicht erst im Blob landen. Die 24-Monats-Grenze wird im Ingest-Mapper erneut angewendet, weil der quellseitige Gmail-Cutoff nur ein Best-Effort ist.

### Slack

|                    |                                                                             |
| ------------------ | --------------------------------------------------------------------------- |
| Backfill           | Letzte 24 Monate an Nachrichten                                             |
| Kanalumfang        | Die vom Endnutzer getroffene Kanalauswahl (aus dem gehosteten Consent-Link) |
| Was landet         | Kanal, Sprecher, Text                                                       |
| Was niemals landet | Bot-/System-Events, Datei-Binaries                                          |

Slack berücksichtigt die pro Eintrag festgelegte Kanal-Allowlist, die der Endnutzer im Consent-Flow auswählt. Kanäle, die nicht auf der Allowlist stehen, werden vom Sync ausgeschlossen – übergeben Sie die gewünschten Kanal-IDs als `collections` im Connect-Link oder in `POST /api/v1/connectors/sync`.

### Affinity, Salesforce, HubSpot, Attio (CRM)

|                          |                                                                                                                                                                                                                  |
| ------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Backfill                 | Letzte 24 Monate an Aktivität; dauerhafte Entitäten stets enthalten                                                                                                                                              |
| Ausgeschlossene Schemata | Sammlungen mit Anhängen und Datei-Binaries (`attachment`, `content_document`, `content_version`, `files`, `documents`); Audit- und History-Trails (`audit`, `history`, `login_history`, `event_log`, `apex_log`) |
| Ausgeschlossene Felder   | Felder für Anmeldedaten/Geheimnisse und Bank-/Steuer-/staatliche IDs (siehe globale Liste oben)                                                                                                                  |
| Erhalten                 | Deal-Beträge, Umsätze, Kontonummern, alle sonstigen Geschäftsdaten                                                                                                                                               |

Eine ausgeschlossene Collection explizit anzufordern (z. B. `"collections": ["attachments"]`) schlägt laut fehl mit einem `400` – Anhänge und Audit-Trails werden verweigert, nicht stillschweigend verworfen. Nicht erkannte Schemata gelten standardmäßig als begrenzt, niemals als unbegrenzt, sodass ein neues aktivitätsähnliches Objekt, das vom CRM-Anbieter hinzugefügt wird, keinen unbegrenzten Backfill auslöst.

## Backfill: Partner-Pfad vs. Dashboard

Die 24-Monats-Grenze wird auf dem **Partner-Pfad** durchgesetzt – Endnutzern, die Ihre Integration über den gehosteten OAuth-Link (`POST /api/v1/connectors/link`) verbindet. Persönliche Accounts, die direkt im Conare-Dashboard verbunden werden, synchronisieren ihre gesamte Historie; die Grenze gilt nur für partnergebundene Verbindungen.

## Umgang mit der Richtlinie

**Am Collections-Endpoint.** `GET /api/v1/connectors/{type}/collections` listet niemals per Richtlinie ausgeschlossene Collections auf – die IDs, die Sie zurückerhalten, sind die IDs, die Sie anfordern dürfen.

```bash theme={null}
curl https://api.conare.ai/api/v1/connectors/salesforce/collections \
  -H "Authorization: Bearer $CONARE_KEY"
# → { "collections": [{ "id": "account", "name": "Account" }, ...] }
# Anhang- und History-Schemata fehlen bewusst.
```

**Am Connect-Link.** Übergeben Sie `collections`, um weiter einzugrenzen. Bei Slack betrifft dies Kanäle; bei CRM-Quellen betrifft es Entitätsschemata. Lassen Sie es weg, um jede nicht ausgeschlossene Collection zu synchronisieren.

```bash theme={null}
curl https://api.conare.ai/api/v1/connectors/link \
  -H "Authorization: Bearer $CONARE_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "endUserId": "u_123",
    "type": "salesforce",
    "collections": ["account", "contact", "opportunity"]
  }'
```

Das Anfordern einer per Richtlinie ausgeschlossenen ID liefert ein `400`:

```json theme={null}
{
  "statusCode": 400,
  "code": "invalid_request",
  "message": "collections excluded by data policy for salesforce: attachment (attachments and audit trails are never synced)",
  "requestId": "req_..."
}
```

**Zu Ausschlüssen auf Feldebene.** Felder für Anmeldedaten und staatliche/finanzielle IDs werden anhand segmentgebundener Namensmuster gegen die Feld-IDs der Quelle und deren normalisierte snake\_case-Ausgabenamen abgeglichen – die Richtlinie ist eine Konvention über CRM-Schemata hinweg, keine Liste pro CRM, sodass ein neues benutzerdefiniertes Feld namens `passport_number__c` in Salesforce automatisch ausgeschlossen wird.

## Verwandt

* [Integrationen – Überblick](/integrations/overview) – der Connector-Katalog und die Sync-Taktung
* [Connectors-API-Referenz](/api-reference) – vollständige Request- und Response-Formen
