html Offener Kataster · overall architecture · cross-source synthesis
STATUS Bauplan + Referenzimplementation · v0.3 · KEIN Produktionsbetrieb
ZAHLEN 100% synthetisch. Demo-Daten zur Methoden-Demonstration. Keine echten Vergaben, keine echten Personen, keine ermittelten Statistiken.
PARTNER Ein-Mensch-Werkstatt · unabhängig · privat finanziert · keine institutionelle Trägerschaft · Forks willkommen.
DATUM 2026-05-06
Offener Kataster · architecture
CORE · INGESTION · GRAPH · SYNTHESIS
Overall architecture · cross-source synthesis

Individually unremarkable.
Linked visible.

The value of this system lies not in a single data source — it arises in the Link. Lobbying register, procurement data, company register, leaks, subsidies, land register, vacancies, sanctions lists: each source on its own allows single-case research. Together they enable what the state itself does not do — the systematic linking of heterogeneous public information into robust hypotheses.

This page shows how the architecture is built: a Entity graph with Quality scoring and Provenance tracking, populated by interchangeable adapters for 20+ data sources, analyzed by Cross-source synthesizer, which detect chained patterns. All results with statute citations, all sources traceable, AGPL, without an operator.

Adapter
20+
Entity types
15
Relation types
24
Synthesizer
10
Quality scoring
0–1
License
AGPL
01 · System architecture

Five layers, modularly extensible.

Each layer can be replaced individually. Adapters are interchangeable, the graph is persistent, the synthesizers are versioned. New data sources = new adapter. New patterns = new synthesizer. The system grows without breaking changes.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ LAYER 5 · SYNTHESIS (cross-source pattern detection) │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ lobby_vergabe offshore_vergabe leerstand_owner foerderung_pep sector_lobby umwidmung_insider mortality_anomaly precedent_divergence immunity_pattern Each synthesizer: traverses the graph, finds chains, checks plausibility, formulates hypothesis-conforming output with statute citations ▲ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ LAYER 4 · GRAPH (entity graph with quality scoring) │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Entities: PERSON_OFFICIAL · ORGANIZATION · GOVERNMENT_BODY · KAMMER · FOUNDATION · NGO · PARTY · RELIGIOUS_BODY · MEDIA · HOLDING · PROPERTY · CONTRACT · DECISION · LAW Relations: HOLDS_ROLE · OWNS · CONTROLS · SUBSIDIARY_OF · LOBBIED_FOR · CONTRACTED_WITH · PAID_TO · APPEARS_IN_LEAK DIVERGES_FROM · CITED_IN · APPOINTED_BY · ... Evidence: every datum carries provenance + quality score Rectification: errors are flagged, not silently deleted ▲ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ LAYER 3 · NORMALIZATION (entity resolution, dedup, quality) │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Canonical names · cross-ID matching · embedding similarity Geocoding · legal-ref linking · quality-prior assign ▲ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ LAYER 2 · INGESTION (20+ source adapters, unified API) │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Official registers: company register · WiEReG · land register · RIS · lobby register EU transparency register · association register · BBG/TED · transparency database Leaks: ICIJ Panama/Pandora/Paradise · FinCEN Files · OffshoreLeaks DB Open data: OpenSanctions · OpenCorporates · FarmSubsidy.org · E-PRTR · contaminated-sites atlas · data.gv.at Crowdsourced: vacancy reporter · OpenStreetMap Journalism: Dossier · Falter · MOMENT · ICIJ Publications Whistleblower: WARTE bridge (institution hashes only) Academic: peer-reviewed papers with DOI ▲ │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ │ LAYER 1 · CORE (data model, graph algorithms, license constraints) │ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Entity · Relation · Evidence · Provenance · QualityAssessment EntityGraph · BFS/DFS · Entity-Resolution · Pattern-API Rule-02-Validator · Minor-Block · Vulnerable-K-Anonymity
02 · Data-quality model

Every statement carries a score.

Not all sources are equally trustworthy. A company-register entry is more robust than a crowdsourced report. The system distinguishes this explicitly — with a quality score from 0–1 per evidence, depending on source, verification, contradictions, and age.

Source type
Prior
Rationale
Score
Official register
0.95
Statutorily regulated entries with official liability (company register, land register, RIS)
★★★★★
Official document
0.90
Court-of-Audit report, Ombudsman report, parliamentary minutes
★★★★★
Academic (peer-reviewed)
0.85
Academic works with DOI, peer review
★★★★
Investigative journalism
0.80
Dossier, Falter, ICIJ publications — editorially vetted
★★★★
Open data
0.80
data.gv.at, OpenSanctions, FarmSubsidy — structured open data
★★★★
Leaks (before verification)
0.75
Panama/Pandora/Paradise — high interest, ICIJ-vetted, but not official
★★★★
Whistleblower
0.60
WARTE inputs — high relevance, but low prior until verification
★★★
Crowdsourced
0.55
Vacancy reporter, OpenStreetMap — broad source, but not official
★★★
Derived
0.50
Derived from other sources — depends on input quality
★★★
Self-reported
0.45
PR releases, company statements — caution advised
★★
03 · Data-source adapters

20+ sources, one unified interface.

Each source gets a Adapter, which translates them into the shared evidence model. Rate limits, deduplication and provenance are handled uniformly. This makes the system extensible — a new source means a new adapter class, no change in the core.

Official register
Company register Austria
Companies, managing directors, shareholders, holdings, registered seat, founding date.
Prior 0.95 · justizonline.gv.at
Official register
WiEReG
Beneficial owners along the control chain. Access restricted, in production via BMF/notary.
Prior 0.95 · wiereg.bmf.gv.at
Official register
Land register
Property ownership, encumbrances, easements. Fee-based, but API-accessible.
Prior 0.95 · justiz.gv.at/gb
Official register
RIS
All judgments and legal principles from OGH, VfGH, VwGH, BVwG, LVwGs. JSON API available.
Prior 0.95 · ris.bka.gv.at
Official register
Lobbyreg
Registered lobbyists with clients, contract volumes, subject matter.
Prior 0.95 · lobbyreg.justiz.gv.at
Official register
EU transparency register
EU lobbying, contacts with commissioners, MEPs, officials.
Prior 0.95 · transparency-register.europa.eu
Official register
BBG / TED
Austrian and EU procurement procedures. Contracting authority, winner, volume, procedure type.
Prior 0.95 · bbg.gv.at · ted.europa.eu
Official register
Association register
All registered associations with officers, statutes, partly finances.
Prior 0.95 · vereinsregister.gv.at
Leaks
ICIJ Offshore Leaks
Panama, Pandora, Paradise Papers, FinCEN Files, Bahamas Leaks. Offshore structures made public.
Prior 0.75 · offshoreleaks.icij.org
Open data
OpenSanctions
PEP lists, sanctions lists worldwide. Consolidated JSON data with bulk download.
Prior 0.80 · opensanctions.org
Open data
OpenCorporates
Global company data, cross-jurisdictional mapping. API with rate limits.
Prior 0.80 · opencorporates.com
Open data
Transparency database
Subsidies from federal, state, municipal levels with recipients, amounts, purposes.
Prior 0.80 · transparenzportal.gv.at
Open data
FarmSubsidy
EU agricultural subsidies. Large recipients of direct payments and structural funds.
Prior 0.80 · farmsubsidy.org
Open data
E-PRTR
EU pollutant register. Emissions of individual plants into air, water, soil.
Prior 0.80 · prtr.eea.europa.eu
Open data
Contaminated-sites atlas
Documented contaminated sites in Austria with pollutant categories and remediation status.
Prior 0.80 · altlasten.gv.at
Crowdsourced
Vacancy reporter
Reported vacancies in residential and commercial space with a minimum vacancy duration.
Prior 0.55 · leerstandsmelder.de
Crowdsourced
OpenStreetMap
Geo data, enrichment for spatial patterns and regional assignment.
Prior 0.60 · openstreetmap.org
Journalism
Dossier / Falter / MOMENT
Editorially vetted investigative reports. As confirmation of or contradiction to other sources.
Prior 0.80 · dossier.at · falter.at
Academic
Peer-reviewed papers
Academic works with DOI — epidemiology, jurisprudence, political science.
Prior 0.85 · DOI-based indexing
WARTE bridge
Whistleblower signal
Only institution hashes from WARTE inputs. No content, no identity — only signal.
Prior 0.60 · until verification
04 · Cross-source synthesis: live results

What the system finds today.

These are real outputs of the synthesizer modules, applied to a demo graph from all 9 implemented adapters. Results show chains between lobbying/procurement, offshore control, pharma and defense sectors, vacancies. Each finding with statute citation and data sources.

SECTOR_LOBBY_MINISTRY
0.90
Defense · Defense Consulting → European Arms → BMLV
Defense Consulting GmbH ─ LOBBIED_FOR ─▸ European Arms Systems Ltd ─ WON ─▸ Air-defense system · €150,000,000 ─ FROM ─▸ Fed. Ministry of Defense
In the sector Defense/armaments Defense Consulting GmbH lobbies for European Arms Systems Ltd. The same company receives a contract from the Federal Ministry of Defense worth €150 million for an air-defense system. To be checked: compliance with the separation requirement, negotiated-procedure documentation, market availability of alternative suppliers, procurement files per BVergG § 28.
LobbyG BVergG § 6 BVergG § 28 Lobbyreg + BBG/TED
SECTOR_LOBBY_MINISTRY
0.89
Pharma · lobbying → pharma AG → BMG
Mustermayer Lobbying KG ─ LOBBIED_FOR ─▸ Pharma Beispiel AG ─ WON ─▸ Vaccine procurement · €38,500,000 ─ FROM ─▸ Fed. Ministry of Health
In the sector Health/pharma: Mustermayer Lobbying KG registered for Pharma Beispiel AG. The same company receives a contract from the Federal Ministry of Health for vaccine procurement worth €38.5 million. To be checked: whether the time gap between lobby registration and award decision is plausible given negotiation documentation, alternative market suppliers.
LobbyG Art. 3 BVergG § 6 Lobbyreg + BBG/TED
VACANCY · LONG_DURATION
0.83
Vienna 1070 · commercial unit vacant for 64 months
Commercial unit Vienna-1070 ─ DOCUMENTED_BY ─▸ Vacancy reporter · 5 years 4 months
Vacancy of a commercial unit in Vienna 1070 documented since January 2019, prime location. Owner not yet recorded in the graph. To be checked: land-register inspection, vacancy levy per Vienna regulation, speculation suspicion.
State LAG Vacancy reporter
VACANCY · LONG_DURATION
0.75
Vienna 1020 · apartment vacant for 54 months
Apartment Vienna-1020 ─ DOCUMENTED_BY ─▸ Vacancy reporter · 4 years 6 months
Vacancy of an apartment in Vienna 1020 documented since May 2019. Owner not yet recorded in the graph. To be checked: land-register inspection, suspicion of a speculation object or abusive letting.
Vienna LAG Vacancy reporter
NOTE · demo data
The results above are computed on demo data using realistically modeled but synthetic entries. In the production variant with real data sources (company register, lobby register, BBG, leaks), corresponding patterns will emerge in far greater number and with real legal consequences. Two synthetic patterns already show the system's capability: Defense lobby → €150M contract and Pharma lobby → €38.5M contract.
05 · Constraints in code

What the system cannot do — by design.

CONSTRAINT-01
No minors
Prevented at the schema level. Even if mentioned in a source: not admitted. CHECK entity.attributes.birth_year IS NULL OR ...
CONSTRAINT-02
Protection-worthy aggregated only
Guardianship, detention, care, asylum — only structural statistics with k-anonymity ≥ 5. The AggregatedStat class raises ValueError on violation.
CONSTRAINT-03
Rule-02 validator
Pattern output must contain hypothesis language ("Notable is", "To be checked"). Assertive claims are rejected by the validator.
CONSTRAINT-04
Provenance mandatory
Every evidence object without provenance is discarded at ingest. No anonymous statement without a source trail.
CONSTRAINT-05
Rectification, no deletion
Errors are is_marked_disputed=True flagged plus notes. Historical errors remain traceable, applied corrections transparent.
CONSTRAINT-06
AGPL + non-commercialization
Use for scoring, HR checks, credit rating is a license violation. API access only with a non-commercialization declaration. Forks welcome, misappropriation forbidden.