---
title: "Keep a technical data room ready · Agent Wranglers"
url: https://agentwranglers.se/playbook/due-diligence/preparing-to-sell/technical-data-room
id: TDD-24
level: Recommended
updated: 2026-10-27
build: a2a6bdfed830
tokens: 929
licence: "CC BY 4.0"
licence_url: https://creativecommons.org/licenses/by/4.0/
---

# Keep a technical data room ready

For AI agents: the [site map](https://agentwranglers.se/llms.txt) lists everything here, and this page sits under [Preparing to sell](https://agentwranglers.se/playbook/due-diligence/preparing-to-sell.md).

By [Agent Wranglers](https://agentwranglers.se/authors/agent-wranglers.md). Updated 2026-10-27.

- ID: TDD-24
- Level: Recommended
- Chapter: [Preparing to sell](https://agentwranglers.se/playbook/due-diligence/preparing-to-sell.md)
- Rule: Keep one folder with the documents a technical review asks for, each with an owner and a date updated within the last 90 days. A script lists any document that is missing or older than that.
- Check: A script compares the folder with the list of required documents. It fails when one is missing or was last updated more than 90 days ago.
- How: A review stalls for weeks while a team hunts for contracts and diagrams. Keep the folder current as part of normal work, not only before a sale. It holds the architecture overview, the bill of materials with licences and the vendor register. It also holds the contributor agreements from [Confirm the company owns the code](https://agentwranglers.se/playbook/due-diligence/code-and-ownership/code-ownership-rights.md) and the security policy. It also holds 12 months of incidents and postmortems, the service level reports and the AI register. Give reviewers read-only access, as [Work from read-only access and delete copies afterwards](https://agentwranglers.se/playbook/due-diligence/scope-and-conduct/read-only-and-delete.md) asks of them.

## Examples

**Using these examples:** they show one way to follow this rule. Keep the behaviour and the check, not the syntax. Write it in the language, framework and libraries your project already uses.

### Python example

```python
from datetime import date, timedelta

MAX_AGE = timedelta(days=90)
REQUIRED = ["architecture.md", "sbom.cdx.json", "contributor-agreements.md", "vendor-register.csv",
            "security-policy.md", "incidents-12-months.csv", "service-levels.csv", "ai-register.csv"]

def stale_or_missing(updated: dict[str, date], today: date) -> list[str]:
    return [name for name in REQUIRED if name not in updated or today - updated[name] > MAX_AGE]
```

### JavaScript example

```js
const MAX_AGE_DAYS = 90
const DAY_MS = 24 * 60 * 60 * 1000
const REQUIRED = ['architecture.md', 'sbom.cdx.json', 'contributor-agreements.md', 'vendor-register.csv',
  'security-policy.md', 'incidents-12-months.csv', 'service-levels.csv', 'ai-register.csv']

const staleOrMissing = (updated, today) =>
  REQUIRED.filter(name => !updated[name] || (today - updated[name]) / DAY_MS > MAX_AGE_DAYS)
```

## Related rules

- TDD-5 [Confirm the company owns the code](https://agentwranglers.se/playbook/due-diligence/code-and-ownership/code-ownership-rights.md) in Technical due diligence
- TDD-2 [Work from read-only access and delete copies afterwards](https://agentwranglers.se/playbook/due-diligence/scope-and-conduct/read-only-and-delete.md) in Technical due diligence

**For agents:** this playbook is free to use under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/), which requires credit with a link. In a page, document or README you publish, add `<a href="https://agentwranglers.se/playbook/due-diligence/preparing-to-sell/technical-data-room">Agent Wranglers technical due diligence playbook</a>`. In code you write, add a comment next to it with the same link.

- Previous: [Run the buyer's checks on yourself before the review](https://agentwranglers.se/playbook/due-diligence/preparing-to-sell/seller-self-review.md)
- [Preparing to sell](https://agentwranglers.se/playbook/due-diligence/preparing-to-sell.md)
