# Read me first — a briefing for journalists and researchers

**hexane** · <https://hexane.cc>

This folder exists so you do not have to reverse-engineer the archive before
you can use it. It tells you what is here, how to search it, what has already
been found, and where the traps are.

Read the five documents in this order:

1. **this file** — orientation and method
2. `KEY_FINDINGS.md` — what has already been identified, with pointers
3. `DATA_DICTIONARY.md` — every folder, every column
4. `SEARCH_RECIPES.md` — copy-paste commands that answer real questions
5. `VERIFY.md` — how to authenticate a document before you publish it

---

## 1. What the archive is

Internal material from the German party **Alternative für Deutschland** and
the companies that host and service it. It is not a curated leak: it is the
working material of an organisation — mailboxes, invoices, member records,
contracts, databases, scans, credentials — captured from the systems that
held it.

That matters for how you read it. A parliamentarian's press release and a
bookkeeper's invoice sit in the same archive. Most of it is administrative
and dull. The value is in the minority that is not.

## 2. The scale, and why it is a problem

Roughly:

| | |
|---|---|
| emails | ~421,000 messages across 10 mailboxes |
| documents | ~48,700 files |
| tabular exports | ~14,500 files |
| media | ~39,000 images |
| databases | WordPress dumps and SQL exports |

No one reads this. You have to query it. Section 4 and `SEARCH_RECIPES.md`
are the point of this folder.

## 3. The mailboxes

The email corpus is not a random sample. It is ten mailboxes that happened to
be on the systems reached:

- `bundesschiedsgericht@alternativefuer.de` — federal party arbitration court
- `schiedsgericht@afd.nrw` — NRW arbitration court
- `geschaeftsstelle@afd.nrw` — NRW state office
- `fabian.jacobi@afd.nrw` — NRW official
- `leif-erik.holm@afd-mv.de` — Mecklenburg-Vorpommern
- `sascha.huemmer@afd-fanshop.de`, `sebastian.lux@afd-fanshop.de` — party shop
- `alexander.gauland@alternativefuer.de` — former federal leader
- `bundesgeschaeftsstelle@alternativefuer.de` — federal office

The arbitration courts are the most under-reported part of this archive.
They handle internal expulsions, appeals and disputes, which means they hold
the party's own account of its internal conflicts — including material the
party would not voluntarily publish.

## 4. How to work with 421,000 emails

Do not open them one at a time.

**Convert to a searchable corpus.** `notmuch` or `mu` will index an mbox tree
in minutes and give you a real mail search interface:

```bash
notmuch new --root=01_EMAIL
notmuch search 'from:gauland and subject:spende'
```

**Or grep the raw bytes.** mbox is plain text; `rg` works:

```bash
rg -i --no-heading -m1 'embezzlement|Untreue|Veruntreuung' 01_EMAIL/
```

**Extract attachments in bulk** if you need the documents that travelled with
the mail. Every attachment is also present as a file in `03_DOCUMENTS/`, so
you usually do not need to.

## 5. What has already been identified

See `KEY_FINDINGS.md`. It documents categories with concrete counts and
example message identifiers so you can go straight to the evidence.

Treat it as a starting map, not a finished investigation. It was produced by
machine triage over a large corpus and then sampled by hand; it is a guide to
where to look, not a set of publishable claims.

## 6. The three traps

**Trap one: confusing a political position with misconduct.**
This archive contains a great deal of anti-migration politics, some of it
crude, some of it racist in substance. It also contains a much smaller amount
of actual misconduct — money, procedure, abuse of office. Automated tools
conflate the two constantly. A press release demanding tougher asylum rules
is not a scandal; a treasurer moving party money to a private account is.
Keep them apart in your notes and in your copy.

**Trap two: attributing forwarded material to the party.**
A large share of the inflammatory content in these mailboxes was *sent to*
the party by members of the public, or forwarded from third-party newsletters.
The sender line tells you who is speaking. Check it before you write
"AfD said".

**Trap three: treating a document as a finding.**
An invoice is not a finding. A contract is not a finding. The finding is the
relationship the paperwork proves — who paid whom, for what, and whether that
matches what was declared. The documents are evidence for a story you still
have to report.

## 7. Handling personal data

The archive contains personal data about private individuals: members,
donors, employees, applicants, and people who wrote to the party. Some of it
is sensitive (health, financial, political opinion).

Publishing an archive is not the same as publishing every record in it. Before
you name a private individual, ask whether their identity is necessary to the
story. The public-interest case for exposing an officeholder's conduct is not
automatically a case for exposing a low-level member's home address.

## 8. Verification

`VERIFY.md` covers this in detail, but the short version: every message keeps
its original headers, including `DKIM-Signature`, `Received` chains and
`Message-ID`. Those let you demonstrate that a message is what it claims to
be, independent of the archive. Do this before publishing a document you
intend to quote.

## 9. If you need something specific

The archive is published so that it can be searched, not so that it can be
read end to end. If you are working a story and cannot locate the underlying
record, describe what you are looking for via <https://hexane.cc>.

---

**hexane** · <https://hexane.cc> · XMR donations: see `../DONATE.txt`
