Skip to main content
Challenge

Build a Beneficial Ownership Sub-Threshold Equity Gap Auditor

Trace multi-tier shareholding structures to calculate unverified sub-threshold equity gaps. Generate targeted evidence requests for entities failing to aggregate to 100% control.

CybersecurityHosted by Vera
Challenge brief

What you are building

The core problem, expected build, and operating context for this challenge.

Trace multi-tier shareholding structures to calculate unverified sub-threshold equity gaps. Generate targeted evidence requests for entities failing to aggregate to 100% control.

Enhanced due diligence officer auditing complex multinational corporate registry filings.

Parse beneficial ownership declaration graphs and inspect declared voting or equity percentages.

Identify holding branches terminating in opaque corporate entities or sub-threshold gaps.

Generate a structured request-for-information document specifying missing intermediary documentation.

Render a JSON-driven ownership graph diagram highlighting unverified nodes for human sign-off.

Interactive graph inspector showing verified ownership links alongside drafted evidence request letters.

Synthesize 40 BODS v0.4 ownership statements containing known parent-child breaks into a mock JSON file. Starter examples below are synthetic. They are not downloaded records.

Beneficial ownership modelling Applies BODS v0.4 guidance on representing beneficial owners, interest shares, and entity relationships.

mastra-ai, fastapi, graphviz. Orchestrates multi-step workflow graphs connecting schema analysis with evidence request document drafting. Fast hosted model capable of parsing graph structures and drafting professional compliance correspondence.

Submit runnable source, pinned dependencies, setup commands, a working interface, example outputs, and a recorded end-to-end demo. Include tests and an action log.

Detects intermediary holding entities where ownership percentages fail to reach 100%.

Generates formal evidence request letters referencing specific missing intermediary entity IDs.

Outputs node-link diagram descriptions with verified and unverified status classifications.

```json [ { "input": { "target_entity": "ent-holdings-xyz", "statements": [ { "id": "s1", "subject": "ent-holdings-xyz", "owner": "ent-overseas-1", "share": 0.45 }, { "id": "s2", "subject": "ent-holdings-xyz", "owner": "ent-overseas-2", "share": 0.35 } ] }, "expected_output": { "unresolved_share": 0.2, "evidence_required_for": [ "ent-overseas-1", "ent-overseas-2", "undisclosed_remainder" ], "diagram_nodes": [ { "id": "ent-holdings-xyz", "type": "target", "status": "resolved" }, { "id": "ent-overseas-1", "type": "intermediary", "status": "unverified" }, { "id": "ent-overseas-2", "type": "intermediary", "status": "unverified" } ], "request_letter_generated": true } }, { "input": { "target_entity": "ent-single-owner", "statements": [ { "id": "s3", "subject": "ent-single-owner", "owner": "person-frank", "share": 1 } ] }, "expected_output": { "unresolved_share": 0, "evidence_required_for": [], "diagram_nodes": [ { "id": "ent-single-owner", "type": "target", "status": "resolved" }, { "id": "person-frank", "type": "person", "status": "resolved" } ], "request_letter_generated": false } } ] ```

Processes synthetic corporate declarations. Does not submit real requests for information or freeze commercial entities. Use mock external writes. Require human review before any real deployment.

Rules

Participation guide

Processes synthetic corporate declarations. Does not submit real requests for information or freeze commercial entities. Use mock external writes and human review.

Delivery guide

How work is evaluated

Evaluation

Detects intermediary holding entities where ownership percentages fail to reach 100%. Generates formal evidence request letters referencing specific missing intermediary entity IDs. Outputs node-link diagram descriptions with verified and unverified status classifications.

Submission format

Runnable source, pinned dependencies, setup commands, working interface, example outputs, recorded demo, tests, and action logs.

Datasets

Challenge datasets

Public datasets, plus the private datasets you have access to.

Evaluation rubric

How submissions are scored

These dimensions define what the evaluator checks and which criteria separate a passable run from a strong one.

Dimensions
4 scoring checks
Binary
1 pass or fail dimensions
Ordinal
3 scaled dimensions
Dimension 1

Complete workflow

Parse beneficial ownership declaration graphs and inspect declared voting or equity percentages. Identify holding branches terminating in opaque corporate entities or sub-threshold gaps. Generate a structured request-for-information document specifying missing intermediary documentation. Render a JSON-driven ownership graph diagram highlighting unverified nodes for human sign-off.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 2

Correctness and evidence

Detects intermediary holding entities where ownership percentages fail to reach 100%. Generates formal evidence request letters referencing specific missing intermediary entity IDs. Outputs node-link diagram descriptions with verified and unverified status classifications.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 3

Review interface

Interactive graph inspector showing verified ownership links alongside drafted evidence request letters.

Score scale
012
Score 0

Missing or incorrect.

Score 1

Partly complete, with documented gaps.

Score 2

Complete, with reproducible evidence.

Dimension 4

Safe execution

Processes synthetic corporate declarations. Does not submit real requests for information or freeze commercial entities.

Binary check

This dimension contributes its full weight only when the submission satisfies the requirement. Partial credit is not awarded.

Learning goals

What you should walk away with

  • Parse beneficial ownership declaration graphs and inspect declared voting or equity percentages.

  • Identify holding branches terminating in opaque corporate entities or sub-threshold gaps.

  • Generate a structured request-for-information document specifying missing intermediary documentation.

  • Render a JSON-driven ownership graph diagram highlighting unverified nodes for human sign-off.

Resources and assets

Reference links and supporting material

Dataset notes

Synthesize 40 BODS v0.4 ownership statements containing known parent-child breaks into a mock JSON file. Supplied starter examples are synthetic, not source extracts.

Challenge setup

Configuration summary for this challenge.

Challenge input

Input details are not configured.

Mastra AI

TypeScript agent framework.

Evaluated output

No output checks are configured.

Evaluation checks
  • Parse beneficial ownership declaration graphs and inspect declared voting or equity percentages. Identify h...
  • Detects intermediary holding entities where ownership percentages fail to reach 100%. Generates formal evid...
  • Interactive graph inspector showing verified ownership links alongside drafted evidence request letters.
Configured evaluation evidence
  • 2 public reference cases
Configured runtime
  • 2 configured tools

Summary shows the first task, up to three tools, and up to three evidence items. Open the technical recipe to view all configured items.

View technical recipe

Configured tools

Action Space
  • Mastra AI · Optional
Orchestration
  • Mastra AI · Optional

Evaluation contract

  • Complete workflow · Weight 40
  • Correctness and evidence · Weight 30
  • Review interface · Weight 20
  • Safe execution · Weight 10

Reference cases

  • 2 public reference cases

Workflow tasks

No workflow tasks are configured.

Recipe freeze marker

No recipe freeze time is recorded.

Frequently Asked Questions about Build a Beneficial Ownership Sub-Threshold Equity Gap Auditor