# OSINT-Pack: Shadow, geregelte Recherche in offenen Quellen

> Shadow führt eine phasenweise Recherche in offenen Quellen durch, mit Pflicht-Gate zur Rechtsgrundlage für benannte Personen. Installation, API-Schlüssel, Budget, sieben Prompts, Ausgaben, Grenzen.

Canonical: https://bmad-plus.rochetta.fr/de/docs/packs/osint/
Language: de
BMAD+ version: 0.23.1
Documentation reviewed: 2026-10-19
Author: Laurent Rochetta
License: MIT

BMAD+ Dokumentation › [Packs](https://bmad-plus.rochetta.fr/de/docs/packs/) › OSINT-Pack: Shadow, geregelte Recherche in offenen Quellen

Das OSINT-Pack installiert Shadow, einen Agenten, der aus einem Namen, einem Handle oder einer Firma ein bewertetes Recherche-Dossier aus öffentlichen Quellen macht (OSINT steht für Open-Source Intelligence). Er verkettet Schnellsuchen, Quellenprüfung, Extraktion aus sozialen Netzwerken über Apify-Scraper und Abgleich, und steigert sich immer von billig und schnell zu teuer und tief. Weil die Recherche zu einer benannten Person eine Verarbeitung personenbezogener Daten ist, ist das Pack reguliert: Shadow muss Rechtsgrundlage und Zweck festhalten, bevor er eine identifizierbare Person anfasst.

> **Warnung · Vor dem Einsatz bei Personen lesen** Verantwortlicher bist du, nicht BMAD+. Die Recherche zu einer identifizierbaren Person braucht vor der ersten Anfrage eine dokumentierte Rechtsgrundlage (DSGVO Artikel 6 und eine Bedingung nach Artikel 9 Absatz 2 für jede Ableitung von Persönlichkeit oder besonderen Kategorien). Scraping kann gegen die Nutzungsbedingungen einer Plattform verstoßen. Die Ausgabe ist KI-generiert, kann falsch sein und muss vor jeder Entscheidung von Menschen geprüft werden. Diese Seite ist keine Rechtsberatung.

<a id="when-to-use"></a>
## Wann du es brauchst

- Due Diligence zu Lieferant, Partner oder Gegenpartei, mit benanntem Zweck und Rechtsgrundlage.
- Recherche zu Unternehmen, Produkten oder Märkten: kein Rechtsgrundlagen-Gate nötig, weil keine natürliche Person profiliert wird.
- Sicherheitsrecherche oder beauftragte Untersuchung, wenn Mandat und Grundlage explizit und prüfbar sind.
- Nicht für Neugier gegenüber Privatpersonen, Belästigung oder das Profilieren von Nachbarn, Ex-Partnern, Beschäftigten oder Bewerbern ohne Grundlage. Shadow lehnt das ab.

<a id="installed"></a>
## Was installiert wird

Ein Agent, Shadow, in `.agents/skills/agent-shadow/`, dazu zwei Skills, die aus dem mitgelieferten Paket `osint-agent-package` nach `.agents/skills/` kopiert werden: `bmad-osint-investigate` (die Recherche-Pipeline mit ihren Anbieter-Skripten) und `bmad-osint-investigator` (ein zweiter, vom Paket geerbter Einstiegspunkt; er lädt `_bmad/bmm/agents/osint-investigator.md`, eine Datei, die eine BMAD+-Installation nicht anlegt, starte also bei Shadow). Die Registry führt für dieses Pack keine eigenen Skills auf; die beiden stammen aus dem Paket. Shadows Menü nennt für QS, LI, IG, FB, PP, CE und DG Prompt-Dateien, die das Paket nicht mitliefert: Diese Einträge laufen über die Menüzeile und die Pipeline-Anweisungen in `bmad-osint-investigate`.

**Shadow-Menü**

| Code | Fähigkeit | Rechtsgrundlagen-Gate |
| --- | --- | --- |
| INV | Vollständige Recherche, Phasen 0 bis 6, bewertetes Dossier | Ja, bei einer benannten Person |
| QS | Schnelle Multi-Engine-Suche zu Name oder Handle | Nein bei öffentlichem Handle |
| LI / IG / FB | Extraktion öffentlicher Profile von LinkedIn, Instagram, Facebook über Apify | Ja |
| PP | Persönlichkeitsprofil (MBTI, Big Five) | Ja, plus eine Bedingung nach Artikel 9 |
| CE | Kontaktanreicherung: E-Mail, Telefon, Kontaktdaten | Ja |
| DG | Diagnose der verfügbaren APIs und Werkzeuge | Nein |

<a id="phases"></a>
### Die Phasen der Recherche

1. Phase -1, Rechtsgrundlagen-Gate: Grundlage, Zweck, Verantwortlichen, Aufbewahrungsfrist und den Umgang mit Auskunfts- oder Löschanfragen festhalten. Ohne Grundlage keine Arbeit an benannten Personen.
2. Phase 0, Werkzeug-Selbstcheck: die Diagnose ausführen und fehlende Werkzeuge und Schlüssel notieren.
3. Phase 1, Ersterfassung: zuerst billige Suchen, dann die zitierten Quellen prüfen und Kennungen zusammenführen.
4. Phase 1.5, interne Erkenntnisse: ansehen, was du schon besitzt (Gesprächsverlauf, E-Mails, ein lokales Kontaktverzeichnis), sofern solche Werkzeuge eingerichtet sind, bevor es nach außen geht.
5. Phase 2, Plattform-Extraktion: strukturierte Social-Media-Daten über Apify-Scraper.
6. Phase 3, Abgleich und Vertrauensbewertung: Faktentabelle, Gegenprüfungen, Widersprüche, Namensdopplungen.
7. Phase 4, Psychoprofil, nur mit der zusätzlichen rechtlichen Bedingung.
8. Phase 5, Vollständigkeitsbewertung: Abdeckung, Tiefenwert, Quellenvielfalt, Abbruchkriterien.
9. Phase 6, Dossier-Ausgabe nach Vorlage, mit Tiefenwert, Quellenzahl und Gesamtkosten.

<a id="quick-start"></a>
## Schnellstart

1. **Das Pack installieren** Core wird automatisch ergänzt. Auf dem Rechner, der die Skripte ausführt, muss Python 3.10 oder neuer vorhanden sein.

   ```sh
   npx bmad-plus install --packs osint
   ```
2. **Mindestens einen API-Schlüssel als Umgebungsvariable setzen** Ein Schlüssel genügt für den Anfang; Jina wird als erster vorgeschlagen. Schreibe nie einen Schlüssel in eine Projektdatei. Shadow liest die Namen `JINA_API_KEY`, `APIFY_API_TOKEN`, `PERPLEXITY_API_KEY`, `EXA_API_KEY`, `TAVILY_API_KEY`, `PARALLEL_API_KEY` und `BRIGHTDATA_MCP_URL`.

   ```sh
   $env:JINA_API_KEY = "dein-schluessel"
   ```
3. **Shadow fragen, was verfügbar ist** Die Diagnose berührt keine personenbezogenen Daten und zeigt, welche Anbieter antworten.

   ```sh
   Shadow, mach die Diagnose der verfügbaren OSINT-Werkzeuge und APIs.
   ```

<a id="examples"></a>
## Beispiele zum Kopieren

<a id="example-osint-diagnose"></a>
### Zuerst den Werkzeugkasten prüfen (DG)

Führe es direkt nach dem Setzen deiner Schlüssel aus. Vom Rechtsgrundlagen-Gate ausgenommen.

**In deinem KI-Assistenten**

```text
Shadow, mach die Diagnose der verfügbaren OSINT-Werkzeuge und APIs.
```

**Das solltest du erhalten** Eine Fähigkeitskarte der Such- und Scraping-Anbieter: welche Schlüssel gesetzt sind, welche fehlen und was das einschränkt (ohne Apify sind etwa strukturierte Social-Media-Daten begrenzt).

<a id="example-osint-company-research"></a>
### Ein Unternehmen recherchieren, keine Person

Für die Recherche zu einem Unternehmen ist kein Rechtsgrundlagen-Gate nötig. Nenne, was du mit dem Ergebnis entscheiden willst, und nenne den Ausgabeordner: Das Paket liefert zwei Konventionen (siehe [Was es schreibt und wo](#outputs)).

**In deinem KI-Assistenten**

```text
Shadow, starte INV für die Gesellschaft Acme Ltd, eine juristische und keine natürliche Person: Rechtsform, Tätigkeit, öffentliche Einreichungen, Presseerwähnungen, veröffentlichte Sanktionen oder Rechtsstreitigkeiten. Ich will entscheiden, ob ich sie als Lieferanten aufnehme. Speichere das Dossier in _bmad-output/osint-reports/, bewerte jeden Fakt und liste auf, was du nicht prüfen konntest.
```

**Das solltest du erhalten** Ein Dossier zur Gesellschaft, dort gespeichert, wo du es verlangt hast (`_bmad-output/osint-reports/`), mit einer Vertrauensstufe von A bis D für jeden Fakt (Shadow nennt die Skala, die er anwendet) und der Liste dessen, was nicht geprüft werden konnte. Shadow nennt Quellenqualität und Grenzen und meldet die Kosten laufend; bis 0,50 Dollar gibt er ohne Rückfrage aus, darüber fragt er.

<a id="example-osint-due-diligence"></a>
### Vollständige Recherche mit festgehaltener Grundlage (INV)

Nenne Zweck, Grundlage und Aufbewahrung gleich zu Beginn; Shadow hält sie fest, bevor er sucht.

**In deinem KI-Assistenten**

```text
Shadow, führe eine Due-Diligence-Prüfung der Geschäftsführerin des Lieferanten Acme Ltd durch, Jane Doe. Zweck: Lieferantenaufnahme. Grundlage: berechtigtes Interesse, Abwägung in unserer Aufnahmeakte vermerkt. Verantwortlicher: Acme Client. Aufbewahrung: 12 Monate. Anfragen betroffener Personen gehen an privacy@acme-client.example. Speichere das Dossier in _bmad-output/osint-reports/.
```

**Das solltest du erhalten** Phase -1 kommt zuerst: Grundlage, Zweck, Verantwortlicher und Aufbewahrung werden mit der Vorlage zur Rechtsgrundlage festgehalten. Das Dossier beginnt dann mit dem Governance-Block und dem Hinweis, dass die Ausgabe KI-generiert ist, Fehler enthalten kann, keine Rechtsberatung ist und menschlich geprüft werden muss. Es wird in dem Ordner gespeichert, den du genannt hast (hier `_bmad-output/osint-reports/`), mit Ziel und Datum im Namen, wie es die Agentendatei von Shadow verlangt.

<a id="example-osint-quick-search"></a>
### Schnellsuche zu einem öffentlichen Handle (QS)

Der günstigste Einstieg: ein schneller Multi-Engine-Durchlauf ohne Social-Media-Scraping.

**In deinem KI-Assistenten**

```text
Shadow, Schnellsuche zum öffentlichen Handle @acme_support: Welche Organisation betreibt es und welche offiziellen Seiten verlinken darauf?
```

**Das solltest du erhalten** Ergebnisse der Suchanbieter, für die du einen Schlüssel gesetzt hast, zusammengeführt und dedupliziert (die Suche `volley.py` der Pipeline schickt dieselbe Anfrage an alle). Shadow nennt Quellenqualität und Grenzen und sagt, welche Fakten auf nur einer Quelle beruhen.

<a id="example-osint-linkedin-extraction"></a>
### Ein öffentliches LinkedIn-Profil extrahieren (LI)

Braucht das Apify-Token und das Rechtsgrundlagen-Gate. Nenne die ganze Grundlage in der Anfrage: Shadow kann nur lesen, was in der Unterhaltung oder im Projekt steht. Scraping kann gegen die Bedingungen der Plattform verstoßen; prüfe sie vorher.

**In deinem KI-Assistenten**

```text
Shadow, extrahiere das öffentliche LinkedIn-Profil https://www.linkedin.com/in/jane-doe-example für die Aufnahmeakte von Acme Ltd. Zweck: Lieferantenaufnahme. Grundlage: berechtigtes Interesse, Abwägung in unserer Aufnahmeakte vermerkt. Verantwortlicher: Acme Client. Aufbewahrung: 12 Monate. Anfragen betroffener Personen gehen an privacy@acme-client.example. Nenne die Kosten, bevor du den Scraper startest.
```

**Das solltest du erhalten** Shadow prüft, dass Grundlage, Zweck, Verantwortlicher und Aufbewahrung festgehalten sind, startet dann den Apify-Scraper für dieses Profil und ergänzt die strukturierten Daten im Dossier. Ab 0,50 Dollar kumulierter Kosten hält er an und fragt dich.

<a id="example-osint-psychoprofile-declined"></a>
### Was eine Anfrage ohne Grundlage bekommt (PP)

Dieser Prompt nennt absichtlich weder Zweck noch Grundlage: Er zeigt das Gate bei der Arbeit.

**In deinem KI-Assistenten**

```text
Shadow, erstelle ein Persönlichkeitsprofil meiner neuen Nachbarin Jane Doe. Finde alles, was du kannst.
```

**Das solltest du erhalten** Shadow lehnt das Profiling der benannten Person ab: Eine offene Anfrage „finde alles“ hat keinen bestimmten Zweck, keine Grundlage nach Artikel 6 und keine Bedingung nach Artikel 9 für die Ableitung von Persönlichkeit. Er bietet nicht personenbezogene Alternativen an, etwa Unternehmens-, Produkt- oder Marktrecherche oder die Untersuchung einer öffentlichen Einrichtung.

<a id="example-osint-contact-enrichment"></a>
### Kontaktanreicherung für einen Geschäftskontakt (CE)

Nutze es mit genanntem Zweck, etwa um einem Partner zu antworten, der dich kontaktiert hat.

**In deinem KI-Assistenten**

```text
Shadow, finde die berufliche E-Mail-Adresse und Telefonnummer der Vertriebsleiterin von Acme Ltd, wie sie in öffentlichen Quellen stehen. Zweck: auf ihre Partnerschaftsanfrage antworten. Grundlage: berechtigtes Interesse. Verantwortlicher: Acme Client. Aufbewahrung: 6 Monate. Anfragen betroffener Personen gehen an privacy@acme-client.example.
```

**Das solltest du erhalten** Zuerst entsteht der Nachweis des Gates (Grundlage, Zweck, Verantwortlicher, Aufbewahrung, Umgang mit Anfragen). Danach werden Kontaktdaten in öffentlichen Quellen gesucht und von A bis D bewertet; Shadow nennt die Skala, die er anwendet, und kennzeichnet Angaben, die nur eine Quelle stützt.

<a id="outputs"></a>
## Was es schreibt und wo

- Dossier-Ordner: Die Agentendatei von Shadow nennt `_bmad-output/osint-reports/`, benannt mit Ziel und Datum (der Ordner folgt der Einstellung `output_folder` in `_bmad/config.yaml`), während die Anweisungen des Recherche-Skills `recherches/personnes-physiques/<Name>.md` oder `recherches/personnes-morales/<Name>.md` im Projektstamm nennen, ohne Datum. Das Paket liefert beide Anweisungen, nenne den Ordner also in deiner Anfrage, um den gewünschten zu bekommen.
- Der Nachweis der Rechtsgrundlage aus der Vorlage `assets/lawful-basis-record.md` steht am Anfang des Dossiers.
- Vertrauensstufen: Jeder Fakt erhält A, B, C oder D. Die Agentendatei von Shadow definiert sie über die Zahl der Quellen (A drei oder mehr Quellen, B zwei, C eine, D ungeprüft); die Pipeline-Datei definiert sie über die Belege (A bestätigt durch zwei oder mehr unabhängige Quellen oder ein offizielles Profil, B eine glaubwürdige Quelle, C abgeleitet, D ungeprüft). Frage Shadow, welche Skala er benutzt hat, und lies jede Stufe neben den genannten Quellen.

<a id="data-and-prerequisites"></a>
## Datenflüsse und Voraussetzungen

- Datenfluss außerhalb des Rechners `osint-providers`: Shadows Skripte rufen Apify, Exa, Jina, Parallel, Perplexity, Tavily und Bright Data per HTTPS mit deinen eigenen Schlüsseln auf. Zustimmungsgrundlage: die Zugangsdaten, die du setzt. Wonach du recherchierst, verlässt als Anfrage an diese Anbieter deinen Rechner.
- Schlüssel: keiner ist zwingend. Jedes Anbieter-Skript prüft nur seinen eigenen Schlüssel, ein Schlüssel eines beliebigen Anbieters genügt also zum Start. Die Skripte lesen `APIFY_API_TOKEN` (die Social-Media-Scraper), `PERPLEXITY_API_KEY`, `EXA_API_KEY`, `TAVILY_API_KEY`, `JINA_API_KEY`, `PARALLEL_API_KEY` und `BRIGHTDATA_MCP_URL`; die Registry führt sie alle als optional.
- Voraussetzungen: Python 3.10 oder neuer; die Skripte nutzen nur die Python-Standardbibliothek, kein zusätzliches Paket.
- Die Kosten laufen auf deinen Konten. Shadow verfolgt die Ausgaben je Sitzung und fragt ab 0,50 Dollar pro Ziel.

<a id="limits"></a>
## Grenzen und Stolpersteine

> **Warnung · Phase 1.5 kann deine eigenen Mails und Chats lesen** Bevor es nach außen geht, prüft die Pipeline interne Quellen wie Gesprächsverlauf, E-Mails und ein lokales Kontaktverzeichnis, sofern dafür Werkzeuge eingerichtet sind. Willst du das nicht, sag es in der Anfrage oder richte diese Werkzeuge nicht ein. Interne Funde stehen in einem eigenen, als intern und vertraulich markierten Abschnitt.

> **Hinweis · Anbieter-Skripte** Das Paket liefert seine Anbieter-Skripte als Python-Dateien (`apify.py`, `exa.py`, `jina.py`, `perplexity.py`, `tavily.py`, `brightdata.py`, `parallel.py`, `volley.py`, `diagnose.py`), die nur die Python-Standardbibliothek nutzen. Führe sie mit Python 3.10 oder neuer aus.

> **Hinweis · Herkunft** Die Recherche-Pipeline ist aus einem Open-Source-Skill unter MIT-Lizenz adaptiert, und der Apify-Runner stützt sich auf die Agent-Skills von Apify (Apache-2.0). Die genauen Hinweise stehen in THIRD-PARTY-LICENSES.md des Pakets.

**Siehe auch**

- [Alle zehn Packs im Vergleich](https://bmad-plus.rochetta.fr/de/docs/packs/packs-overview/)
- [Shield-Pack (DSGVO-Workflows, DSFA)](https://bmad-plus.rochetta.fr/de/docs/packs/shield/)
- [Datenverarbeitung und Datenschutz](https://bmad-plus.rochetta.fr/de/docs/security/data-handling/)
- [Referenz des Befehls install](https://bmad-plus.rochetta.fr/de/docs/reference/cli-install/)

[BMAD+ Dokumentation](https://bmad-plus.rochetta.fr/de/docs/) · [Packs](https://bmad-plus.rochetta.fr/de/docs/packs/)

[Quellcode auf GitHub](https://github.com/lrochetta/BMAD-PLUS)
