Shipping daily
Nov 1DATAAll 646 projects re-verified: 6,419 developer claims tested against registers, courts and pressNov 1DATAMalaysia TEDUH and Philippines DHSUD licence checks: expired licences and approved delays foundNov 1DATAThailand ONEP register: 2 condos found selling before environmental approvalNov 1DATAMexico PROFECO contract register checks: one sales registration belonged to a laundryNov 1DATAAbu Dhabi ADREC inspections and RAK RERA permit list added: % built straight from the regulatorNov 1SHIPPEDNew stage filter: completed but still sellingNov 1SHIPPEDPublic database page: verification levels, disclosure distribution, every marketNov 1DATA+212 projects in one day, round 3: USA, Caribbean, Gulf, Africa, Japan, AustraliaNov 1SHIPPEDStage on every case: off-plan or under constructionOct 31SHIPPEDVerification level per check on every case card: registry, independent, developer, contradicted
Changelog →

Kolaboro / Open data and API / Data catalog

Open data catalog

Every file we publish under /data/, measured by a job every day: licence, how often it changes, when it last changed, size, rows, SHA-256, its data contract and a download link. Projects are anonymous in every file.

54datasets (110 files, 12.2 MB)
67/67files pass their contract
40/41on time (1 late, 13 without schedule)
65/65API answers match the OpenAPI description

Measured 2026-11-05T07:24:04Z by the catalog job. Ages below update live from /api/x/data/freshness.

Datasets Contracts Freshness Machine-readable Method and limits

Datasets

Green: younger than its target. Late: older than its target. Grey: written by hand, on demand or after events, so there is no target.

Data about projects and markets (31)

Tracked off-plan projects (anonymous)

on time

Every off-plan project Kolaboro tracks, one record per anonymous project id: market, country, stage, price band, promised handover year, the six public checks (permit, deposit protection, progress, plans, track record, no guaranteed returns), how far each is confirmed, claims tested, flags and the change history. Advertised claims, not verified facts. The same data is served filtered by /api/open/projects.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly research run (Monday 06:17 UTC) and every time the research files change
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
1.5 MB
Rows
1,011 projects

SHA-256 4c5a0a28b628fa6f...b3aa1e25

Download schema · contract passes

What developers advertise, by market

on time

Per market: how many tracked projects, title and lease terms advertised, guaranteed-return language, permit claims, permit numbers and plans published, and advertised USD prices. Aggregates only.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly research run (Monday 06:17 UTC) and every time the research files change
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
397.0 KB
Rows
170 markets

SHA-256 5741b570b2443c21...ef23f346

Download schema · contract passes

What developers advertise in Bali

on time

The same aggregate as world-claims for the Bali market alone: title and lease terms, guaranteed-return language, permit claims and numbers, plans and advertised prices.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly research run (Monday 06:17 UTC) and every time the research files change
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
2.1 KB
Rows
not a table

SHA-256 ce806d6296cb065a...68359563

Download schema · contract passes

Projects table (Parquet)

on time

One row per tracked project, built from bali-cases.json: checks, confirmation levels, claims, delay, satellite status and page fingerprint, in Apache Parquet for DuckDB, pandas or Spark. Columns and row count are listed in kolaboro.parquet.json.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 07:43 UTC and after each research run; rewritten only when the source changed
Last updated
2026-11-04T10:24:41Z
Age
21.0 h of 2 days target. Built from the bali-cases.json served now
Size
67.3 KB
Rows
1,011 projects

SHA-256 7f5ecec0b55242a1...df6137f2

Download no schema · contract passes

Markets table (Parquet)

on time

One row per market with the same method as /api/open/markets: projects, average public and confirmed checks, permit and deposit-protection shares, flags and the transparency index.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 07:43 UTC and after each research run; rewritten only when the source changed
Last updated
2026-11-04T10:24:41Z
Age
21.0 h of 2 days target. Built from the bali-cases.json served now
Size
7.5 KB
Rows
170 markets

SHA-256 af777905ad06a0cd...f62dbb19

Download no schema · contract passes

Parquet export manifest

on time

Columns, row counts, sizes and SHA-256 of the two Parquet files and the SHA-256 of the bali-cases.json they were built from. A signed copy is served by /api/x/e/parquet-manifest.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 07:43 UTC and after each research run; rewritten only when the source changed
Last updated
2026-11-04T10:24:41Z
Age
21.0 h of 2 days target. Built from the bali-cases.json served now
Size
4.5 KB
Rows
2 files

SHA-256 64800772a5ffb0ee...68eca56c

Download schema · contract passes

Dated developer promises

on time

Every dated promise a developer made about a tracked project (handover, construction start, structure, other milestones, permits, rental programme), read from the research records, with its status today. Per project and per market.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 11:23 UTC and after each research run
Last updated
2026-11-04
Age
31.4 h of 3 days target
Size
361.4 KB
Rows
850 projects

SHA-256 d5d933e496d87f92...41bd9729

Download schema · contract passes

Promise drift on developer pages

on time

Day by day, which advertised values changed on each tracked developer page (handover date, prices, units and other fields), from fingerprinted page text. No URLs or names.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 09:43 UTC and after each research run
Last updated
2026-11-04
Age
31.4 h of 3 days target
Size
159.2 KB
Rows
821 projects

SHA-256 d866591eaf055762...8c0ca6a4

Download schema · contract passes

Website age of project pages

on time

For each project whose page is on its own website: domain registration date (RDAP) and earliest TLS certificate (Certificate Transparency), at month precision. No domains are published.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 09:43 UTC and after each research run
Last updated
2026-11-04
Age
31.4 h of 3 days target
Size
61.4 KB
Rows
1,011 projects

SHA-256 ad0a34ff752cf81f...7b67a7ac

Download schema · contract passes

Delivery delay index

on time

How far tracked off-plan projects are behind the first handover date on record, by market, with rules, caveats and monthly history.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 16:37 UTC, monthly snapshot on the 1st, and after each research run
Last updated
2026-11-04
Age
31.4 h of 3 days target
Size
43.2 KB
Rows
170 markets

SHA-256 75f14131a5ce063c...35ecc007

Download schema · contract passes

On-time handover odds

on time

For each project: will it hand over within 6 months of the first date on record? Estimated from closed comparable projects with a 95% interval, plus validation and the bias of the sample.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 16:37 UTC, monthly snapshot on the 1st, and after each research run
Last updated
2026-11-04
Age
31.4 h of 3 days target
Size
144.9 KB
Rows
1,011 projects

SHA-256 da63b68cfdc7f31c...f0da0e6a

Download schema · contract passes

Asking-price index

on time

Chained index of advertised asking prices ("from" prices on developer and listing pages) per market, with daily snapshots, rules and caveats. Not transaction prices.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 14:41 UTC and after each research run
Last updated
2026-11-04
Age
31.4 h of 3 days target
Size
135.7 KB
Rows
107 markets

SHA-256 f037c6a8145ea648...8b52aef3

Download schema · contract passes

Advertised versus registered prices

on time

Advertised starting prices compared with officially registered sales where a government publishes them: counts, quartiles and medians only, converted to USD at a cited rate. Lists the markets not covered.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Monday 04:17 UTC
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
83.1 KB
Rows
7 markets

SHA-256 ffdee2e15e9f5175...24e4aab6

Download schema · contract passes

Risk patterns

on time

Which tracked projects look unusual on public warning signs compared with all others, and why, with a model card. It ranks; it does not predict. No project has a confirmed outcome to train on.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Monday 04:17 UTC
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
162.3 KB
Rows
896 projects

SHA-256 8b1481584a5380cf...f8ae905b

Download schema · contract passes

Official register checks

on time

Every official register linked on /registers/: whether our checker could read it (time, HTTP status, size and SHA-256 of the bytes received), and per project the register result, with a hash-chained lookup archive.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Monday 04:17 UTC
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
45.9 KB
Rows
53 registers

SHA-256 ab6c797fd5f234ff...83ced181

Download schema · contract passes

Company and director graph (UK)

on time

Anonymised company and director graph for tracked projects whose developer is a UK company found on Companies House by exact name. Counts and anonymised nodes only.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Wednesday 05:41 UTC
Last updated
2026-11-04T13:15:03Z
Age
18.1 h of 9 days target
Size
92.4 KB
Rows
25 projects

SHA-256 a15ecdfdb67acc75...e0ed37f2

Download schema · contract passes

Global company graph (GLEIF)

on time

For each tracked project: whether the companies named as developer have a Legal Entity Identifier, their parents and countries, as counts and booleans only. Source GLEIF (CC0).

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Tuesday 04:17 UTC
Last updated
2026-11-04T09:36:15Z
Age
21.8 h of 9 days target
Size
282.9 KB
Rows
1,011 projects

SHA-256 c2723170643836f1...11fe67a6

Download schema · contract passes

Insolvency watch

on time

Daily check of UK and Spanish developer companies against insolvency notices (The Gazette, BORME). Each hit is reduced to date, source and type of notice; no company names.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 07:23 UTC
Last updated
2026-11-04T09:02:42Z
Age
22.4 h of 2 days target
Size
9.0 KB
Rows
73 projects

SHA-256 9433114442fcec47...49af2956

Download schema · contract passes

Spanish insolvency index (hashed)

on time

Insolvency acts published in BORME Section One, keyed by a truncated SHA-256 of the normalised company name so the file is not a readable list of companies; anyone can test a name against it. Source BOE, reuse with attribution.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 07:23 UTC
Last updated
2026-11-04T09:02:42Z
Age
22.4 h of 2 days target
Size
640.4 KB
Rows
2,702 companies

SHA-256 128397463188d3db...cd4a8cce

Download schema · contract passes

Natural hazards at tracked projects

on time

Elevation, flood depth, earthquakes, tsunamis, volcanoes and coastline distance for tracked projects with coordinates and watched areas, rounded so they cannot pinpoint a plot. Sources listed in the file.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
monthly, on the 9th at 03:17 UTC
Last updated
2026-11-04
Age
31.4 h of 34 days target
Size
48.6 KB
Rows
168 projects

SHA-256 add6472b886f9924...d90e2b28

Download schema · contract passes

Satellite watch (Sentinel-2 and Sentinel-1)

on time

Sentinel-2 vegetation and clearing per season and Sentinel-1 radar backscatter change for every watched site and area (boxes of about 1 km). Contains modified Copernicus Sentinel data.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Monday 07:41 UTC
Last updated
2026-11-03
Age
2.3 days of 10 days target
Size
72.4 KB
Rows
27 sites

SHA-256 267208f633cb6271...ac1f5add

Download schema · contract passes

Monthly optical progress series

on time

Per watched site and month from January 2023: cloud-masked Sentinel-2 median, built_pct (built-up or bare ground, which look alike at 10 m) and new built-up since the baseline month. Contains modified Copernicus Sentinel data.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Tuesday 09:17 UTC
Last updated
2026-11-03
Age
2.3 days of 10 days target
Size
412.5 KB
Rows
27 sites

SHA-256 be4bf0438a9e3744...7587487e

Download schema · contract passes

Stalled construction sites

on time

Sentinel-2 change between clear quarters in a 150 m window around every project with coordinates, and which sites show almost no change.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Wednesday 04:41 UTC
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
132.6 KB
Rows
168 projects

SHA-256 9e647f9fb7e5b423...ebd13625

Download schema · contract passes

Night lights at finished projects

on time

NASA Black Marble night-time light at projects that should be finished, compared with the surrounding ring, monthly for 36 months. Light is a proxy, not proof of occupancy.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Wednesday 04:41 UTC
Last updated
2026-11-04
Age
31.4 h of 10 days target
Size
4.8 KB
Rows
5 projects

SHA-256 50839058f887712e...bce6e06f

Download schema · contract passes

Visual changes on developer pages

on time

Where the pages of tracked developer websites visibly changed, as page geometry only. No screenshots are published because they would identify anonymous projects.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 15:23 UTC
Last updated
2026-11-04
Age
31.4 h of 3 days target
Size
32.4 KB
Rows
292 projects

SHA-256 de53512c756421a1...c00d5275

Download schema · contract passes

Reused renders across projects

on time

Pairs of images that appear on the pages of two different tracked projects on different domains (CLIP image embeddings, cosine 0.85 or more, confirmed by feature matching), with what was excluded and why.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Sunday 06:37 UTC
Last updated
2026-11-03T13:07:24Z
Age
42.3 h of 9 days target
Size
2.5 KB
Rows
0 pairs

SHA-256 c3147d4a308d7bdf...4170dd07

Download schema · contract passes

Perceptual image hashes

on time

64-bit difference hashes of the images kept by the weekly render-reuse run, so anyone can check whether a picture appears on a tracked project page.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Sunday 06:37 UTC
Last updated
2026-11-03T13:05:56Z
Age
42.3 h of 9 days target
Size
1.2 MB
Rows
7,963 images

SHA-256 4c5c50f94bb8b4bb...57c168de

Download schema · contract passes

Render index

on time

Perceptual hashes of images found on the websites the research agent reads, used to check whether a picture a buyer was sent also appears elsewhere.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Sunday 04:51 UTC
Last updated
2026-11-01
Age
4.3 days of 10 days target
Size
453.6 KB
Rows
4,915 images

SHA-256 c2264bac641f3494...13c9e301

Download schema · contract passes

Similar projects

on time

For every public project, the 5 most similar other public projects: ids and rounded scores only (text similarity from an open sentence-embedding model run on the GitHub runner, plus structured similarity). Input is only the public bali-cases.json.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 02:23 UTC and after each research run
Last updated
last commit 2026-11-05T07:22:38Z
Age
1 min of 2 days target
Size
0 bytes
Rows
not a table

SHA-256 ...

Download schema · not served yet

Mystery shopper programme

no schedule

Questionnaire, measurement rules and status of the mystery shopper programme. It has not started; the file says why.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
edited by hand
Last updated
2026-11-03
Age
2.3 days
Size
4.6 KB
Rows
6 questions

SHA-256 314c223e0d207569...7aaa9e90

Download schema · contract passes

Product roadmap

no schedule

The public product roadmap: each item with its number, theme, title, short description and status.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
edited by hand
Last updated
2026-11-01
Age
4.3 days
Size
18.5 KB
Rows
100 items

SHA-256 362335ca86f767b7...bedea85a

Download schema · contract passes

How the service checks itself (17)

AI desk review benchmark

no schedule

Results of the desk review benchmark on fixed fictional cases, one file per model (Haiku, Sonnet), each case answer signed with the Kolaboro Ed25519 key.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
on demand
Last updated
2026-11-03T22:59:11Z
Age
32.4 h
Size
96.9 KB
Rows
36 cases

SHA-256 a94237d9894f0ec5...cb95b33f

2 files under https://kolaboro.com/data/benchmark/. SHA-256 is over the sorted list of file hashes.

First tile schema · contract passes

Accessibility audit

on time

axe-core audit of every page (WCAG 2.2 AA rules) with counts per rule and page and the run history.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 02:47 UTC
Last updated
2026-11-04T10:00:54.195Z
Age
21.4 h of 2 days target
Size
20.8 KB
Rows
190 pages

SHA-256 1cdc4aeb7cfd2591...7e354e0b

Download schema · contract passes

Lighthouse scores

on time

Lighthouse runs per page and form factor with thresholds and flags.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 04:23 UTC
Last updated
2026-11-04T12:27:45.602Z
Age
18.9 h of 2 days target
Size
15.7 KB
Rows
40 runs

SHA-256 549c40edf1b00704...ee6c1816

Download schema · contract passes

Site QA crawl

on time

Daily crawl of every page and link with the checks that ran and any problems found.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 05:23 UTC
Last updated
2026-11-04T13:22:49.956Z
Age
18.0 h of 2 days target
Size
2.8 KB
Rows
18 checks

SHA-256 778625bcd6b30b76...4ac18aa4

Download schema · contract passes

Synthetic user journeys

late

A scripted buyer journey run in a real browser every hour: pass or fail per step, timings and the latest screenshots (journeys/1.webp to 5.webp).

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
hourly at minute 41
Last updated
2026-11-04T16:33:11.061Z
Age
14.8 h of 2 hours target
Size
85.4 KB
Rows
6 runs

SHA-256 6cafdcac12845604...9d9f7056

Also: journeys/1.webp, journeys/2.webp, journeys/3.webp, journeys/4.webp, journeys/5.webp

Download schema · contract passes

Independent verifier run

on time

Three independent implementations (JavaScript, Python, Go) check the test vectors and the live log, checkpoint, proofs and signatures.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 08:41 UTC
Last updated
2026-11-04T16:36:29Z
Age
14.8 h of 2 days target
Size
1.9 KB
Rows
not a table

SHA-256 03d176069cfb20dd...aa29c952

Download schema · contract passes

Chaos drills

on time

Weekly fault-injection drills of the desk review (for example the primary AI reader down): what was forced, what was expected, what happened, and what is not covered.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Wednesday 05:11 UTC
Last updated
2026-11-04T13:00:06Z
Age
18.4 h of 9 days target
Size
13.1 KB
Rows
3 runs

SHA-256 1cd846ff32bcffc8...0bddfec1

Download schema · contract passes

Security scan

on time

OWASP ZAP baseline passive scan of kolaboro.com: alerts by risk.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Tuesday 04:29 UTC
Last updated
2026-11-03T09:58:33Z
Age
45.4 h of 9 days target
Size
3.3 KB
Rows
22 alerts

SHA-256 d26d8c3f172c1775...ba996e19

Download schema · contract passes

Backup restore drill

on time

Weekly drill: the latest database backup is restored into a clean PostgreSQL and checked table by table, and evidence files are re-hashed.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
weekly, Monday 03:17 UTC
Last updated
2026-11-03T09:12:58Z
Age
46.2 h of 9 days target
Size
1.2 KB
Rows
14 tables

SHA-256 0724349dbf25e6b8...70466bb5

Download schema · contract passes

Deploy guard record

no schedule

Each deploy of the site: smoke checks after it went live, and any automatic rollback.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
after each site deploy (event driven, checked every 30 minutes)
Last updated
2026-11-04T15:15:27Z
Age
16.1 h
Size
31.1 KB
Rows
80 deploys

SHA-256 78dcebe780b70825...52bc7b6e

Download schema · contract passes

Site manifest

no schedule

SHA-256 of every file published on kolaboro.com outside /data/, computed from the git commit the live site was serving.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
checked every 30 minutes, written when the live commit changes
Last updated
2026-11-04T18:02:39Z
Age
13.4 h
Size
226.5 KB
Rows
2,172 files

SHA-256 7fed1a82c315b1e4...5e0b8a1a

Download schema · contract passes

Reproducible worker builds

no schedule

Deterministic bundle of the site worker for each worker source tree that went live, built twice in clean folders; reproduced says whether both builds were identical.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
checked every 30 minutes, written when the worker changes
Last updated
2026-11-04T18:02:45Z
Age
13.4 h
Size
3.5 KB
Rows
6 builds

SHA-256 f8b938604cae7695...0256c5f2

Download schema · contract passes

Property-based tests of the scoring rules

no schedule

Property-based tests and fuzzing of the open scoring rules, counted by the test run itself.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
published when the open-source test suite is run
Last updated
2026-11-03T21:03:30Z
Age
34.3 h
Size
8.5 KB
Rows
22 properties

SHA-256 a0134d50aaf7d8d7...9d81091a

Download schema · contract passes

Shipping log

on time

Ships (commits by people, or by Claude working for one) and data updates per UTC day from the git history of the live branch, streaks, engineering metrics and day summaries written by an AI model and checked in code.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
hourly at minute 19
Last updated
last commit 2026-11-05T07:19:47Z
Age
4 min of 2 hours target
Size
0 bytes
Rows
not a table

SHA-256 ...

Download schema · not served yet

Roadmap items verified live

on time

Roadmap items that link to the live page delivering them. An item counts as shipped only when the page answers HTTP 200, its canonical link is that page and its HTML contains the marker text.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
hourly at minute 19 (shipping log job)
Last updated
last commit 2026-11-05T07:19:47Z
Age
4 min of 2 hours target
Size
0 bytes
Rows
not a table

SHA-256 ...

Download schema · not served yet

Page weight

on time

Bytes transferred for one cold load of key pages (compressed size plus headers, measured in Chrome), first-party bytes split by resource type, against page-weight budgets.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 06:41 UTC
Last updated
last commit 2026-11-05T07:24:07Z
Age
0 min of 2 days target
Size
0 bytes
Rows
not a table

SHA-256 ...

Download schema · not served yet

Visual regression tests

on time

Key pages captured in Chromium at 390 and 1440 px and compared pixel by pixel with the previous run, with the share of changed pixels per page.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
daily 06:41 UTC
Last updated
last commit 2026-11-05T07:24:07Z
Age
0 min of 2 days target
Size
0 bytes
Rows
not a table

SHA-256 ...

Download schema · not served yet

Map tiles used by the checks (2)

Coastline outline tiles

no schedule

Natural Earth 1:10m land outline (public domain, via world-atlas 2.0.2) cut into 10 degree tiles (published as one file per 10 degree column of longitude), quantised and delta-encoded, used by the hazards check only when no OpenStreetMap server answers. Every tile exists; open-ocean tiles are empty.

Licence
Public domain (Natural Earth)
Updates
static, built once
Last updated
last commit 2026-11-05T07:18:43Z
Age
5 min
Size
0 bytes
Rows
36 tiles

SHA-256 31364073345c9ad1...632381ee

36 files under https://kolaboro.com/data/coast/. SHA-256 is over the sorted list of file hashes.

First tile schema · not served yet

Mangrove index tiles

no schedule

Global Mangrove Watch v3 (2020) reduced to cells of about 220 m that contain any mangrove pixel, in binary 45 degree blocks (format GMW1, see the file header description in the protected-land endpoint). Source CC BY 4.0, Bunting et al. 2022.

Licence
CC BY 4.0 (Global Mangrove Watch v3, Bunting et al. 2022; credit Kolaboro for the reduction)
Updates
static, rebuilt once per Global Mangrove Watch release
Last updated
last commit 2026-11-04T08:57:27Z
Age
22.4 h
Size
5.3 MB
Rows
16 tiles

SHA-256 f8bbf8d374c2f577...fd04274a

16 files under https://kolaboro.com/data/mangroves/. SHA-256 is over the sorted list of file hashes.

First tile no schema · contract passes

Samples (not real data) (2)

Fictional sample score

no schedule

One fictional project (marked fictional: true) used to demonstrate the score page. Not real data.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
static sample
Last updated
2026-10-27
Age
9.3 days
Size
2.4 KB
Rows
1 projects

SHA-256 95dd75a834bbfe3d...dc2041d8

Download schema · contract passes

Sample photo progress analysis

no schedule

One stored example answer of the photo progress check, used on the demo page.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
static sample
Last updated
2026-10-29T20:41:55.904Z
Age
6.4 days
Size
2.7 KB
Rows
not a table

SHA-256 b620feddaa71a237...2382c239

Download schema · contract passes

Not yet described (2)

findings-by-project.json

no schedule

Published under /data/ but not yet described in the catalog registry.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
unknown
Last updated
last commit 2026-11-05T07:21:26Z
Age
2 min
Size
0 bytes
Rows
not a table

SHA-256 ...

Download no schema · not served yet

live-findings.json

no schedule

Published under /data/ but not yet described in the catalog registry.

Licence
CC BY 4.0 (credit: Kolaboro, kolaboro.com)
Updates
unknown
Last updated
last commit 2026-11-05T07:21:26Z
Age
2 min
Size
0 bytes
Rows
not a table

SHA-256 ...

Download no schema · not served yet

Data contracts

A data contract is a promise about the shape of a file: which keys it has and what type each value is. Ours are JSON Schema 2020-12, one per dataset, in one schema file (each also served alone at /api/x/data/schema/<id>.json). Every day the job validates the live files and the live API against them. A failure turns the job red on GitHub but never stops another workflow or the site.

67files pass
0files fail
65/65API operations match

Validator: python-jsonschema 4.26.0 (Draft 2020-12). OpenAPI description valid (openapi-spec-validator 0.9.0). Full results: /data/contracts.json.

FileResultFirst errors
a11y.jsonpass 
bali-cases.jsonpass 
bali-claims.jsonpass 
benchmark/haiku.jsonpass 
benchmark/sonnet.jsonpass 
builds.jsonpass 
chaos.jsonpass 
coast/ (36 files)no contract 
company-graph-global.jsonpass 
company-graph.jsonpass 
delay-index.jsonpass 
deploys.jsonpass 
domain-age.jsonpass 
findings-by-project.jsonnot served yetin the live branch but not served yet (a deploy is probably in progress)
hazards.jsonpass 
image-hashes.jsonpass 
image-index.jsonpass 
insolvency-es-index.jsonpass 
insolvency-watch.jsonpass 
journeys.jsonpass 
journeys/1.webppass 
journeys/2.webppass 
journeys/3.webppass 
journeys/4.webppass 
journeys/5.webppass 
kolaboro-markets.parquetpass 
kolaboro.parquetpass 
kolaboro.parquet.jsonpass 
lighthouse.jsonpass 
live-findings.jsonnot served yetin the live branch but not served yet (a deploy is probably in progress)
mangroves/-135_-45.binpass 
mangroves/-135_0.binpass 
mangroves/-180_-45.binpass 
mangroves/-180_0.binpass 
mangroves/-45_-45.binpass 
mangroves/-45_0.binpass 
mangroves/-90_-45.binpass 
mangroves/-90_0.binpass 
mangroves/0_-45.binpass 
mangroves/0_0.binpass 
mangroves/135_-45.binpass 
mangroves/135_0.binpass 
mangroves/45_-45.binpass 
mangroves/45_0.binpass 
mangroves/90_-45.binpass 
mangroves/90_0.binpass 
mystery-shopper.jsonpass 
night-lights.jsonpass 
on-time.jsonpass 
page-weight.jsonnot served yetin the live branch but not served yet (a deploy is probably in progress)
price-index.jsonpass 
price-reality.jsonpass 
progress-sample.jsonpass 
projects.jsonpass 
promise-drift.jsonpass 
promises.jsonpass 
property-tests.jsonpass 
qa.jsonpass 
register-checks.jsonpass 
render-reuse.jsonpass 
restore.jsonpass 
risk.jsonpass 
roadmap-sync.jsonnot served yetin the live branch but not served yet (a deploy is probably in progress)
roadmap.jsonpass 
satellite-optical.jsonpass 
satellite.jsonpass 
security-scan.jsonpass 
shipping.jsonnot served yetin the live branch but not served yet (a deploy is probably in progress)
similar.jsonnot served yetin the live branch but not served yet (a deploy is probably in progress)
site-manifest.jsonpass 
stalled-sites.jsonpass 
verifiers.jsonpass 
visual-diff.jsonpass 
visual-tests.jsonnot served yetin the live branch but not served yet (a deploy is probably in progress)
world-claims.jsonpass 

API answers against the OpenAPI description

OperationHTTPResultFirst errors
/api/open200pass 
/api/open/ai-spend200pass 
/api/open/badge/{id}.svg200pass 
/api/open/build200pass 
/api/open/changes200pass 
/api/open/checkpoint200pass 
/api/open/evals200pass 
/api/open/freshness200pass 
/api/open/log200pass 
/api/open/log-consistency200pass 
/api/open/log-input200pass 
/api/open/log-proof200pass 
/api/open/markets200pass 
/api/open/markets.csv200pass 
/api/open/openapi.json200pass 
/api/open/pdf/{sha256}200pass 
/api/open/projects200pass 
/api/open/projects.csv200pass 
/api/open/projects/{id}200pass 
/api/open/projects/{id}/at/{day}200pass 
/api/open/proof/{id}200pass 
/api/open/receipt/{evidence_id}404pass 
/api/open/security200pass 
/api/open/stats200pass 
/api/open/summary200pass 
/api/open/uptime200pass 
/api/x/d/project/{id}200pass 
/api/x/e/parquet-manifest200pass 
/api/x/g/status200pass 
/api/x/h/prices200pass 
/api/x/h/project/{id}200pass 
/api/x/h/registers200pass 
/api/x/h/risk200pass 
/api/x/l/trust200pass 
/api/x/n200pass 
/api/x/o/slo200pass 
/api/x/p/hazards200pass 
/api/x/q/graph200pass 
/api/x/q/graph/{id}200pass 
/api/x/q/mystery-shopper200pass 
/api/x/r/price-index200pass 
/api/x/r/visual200pass 
/api/x/r/visual/{id}200pass 
/api/x/t/reports200pass 
/api/x/u/climate200pass 
/api/x/u/protected200pass 
/api/x/v200pass 
/api/x/v/delays200pass 
/api/x/v/on-time200pass 
/api/x/v/press200pass 
/api/x/w/graph-global200pass 
/api/x/w/graph-global/{id}200pass 
/api/x/w/insolvency/watch200pass 
/api/x/w/insolvency/watch/{id}200pass 
/api/x/x/fx200pass 
/api/x/y/promises200pass 
/api/x/z/bundle/{sha256}200pass 
/api/x/z/feed200pass 
/api/x/z/feed/changes200pass 
/api/x/z/feed/projects200pass 
/api/x/z/feed/schema.json200pass 
/api/x/z/feed/status200pass 
/feed.json200pass 
/feed.xml200pass 
/feed/alerts.xml200pass 

Freshness

Target = twice the run interval of the workflow that writes the file when it runs daily or more often, the interval plus 2 days when it runs weekly or monthly, plus 1 day when the file states only a date (counted from 00:00 UTC). Age = now minus the timestamp the file itself states (or, without one, the time of the last commit that published it). No target for files written by hand, on demand or after events. The Parquet files also count as fresh while they were built from the current bali-cases.json.

Monitors can poll /api/x/data/freshness: it re-reads each file's own timestamp from the first 64 KB of the live file at request time (cached 5 minutes), so a late file shows up within minutes, not at the next catalog run. It answers HTTP 200 with "late": [...]; add ?strict=1 to get HTTP 503 when any dataset is late.

DatasetTargetAgeStatus
Tracked off-plan projects (anonymous)10 days31.4 hon time
What developers advertise, by market10 days31.4 hon time
What developers advertise in Bali10 days31.4 hon time
Projects table (Parquet)2 days21.0 hon time
Markets table (Parquet)2 days21.0 hon time
Parquet export manifest2 days21.0 hon time
Dated developer promises3 days31.4 hon time
Promise drift on developer pages3 days31.4 hon time
Website age of project pages3 days31.4 hon time
Delivery delay index3 days31.4 hon time
On-time handover odds3 days31.4 hon time
Asking-price index3 days31.4 hon time
Advertised versus registered prices10 days31.4 hon time
Risk patterns10 days31.4 hon time
Official register checks10 days31.4 hon time
Company and director graph (UK)9 days18.1 hon time
Global company graph (GLEIF)9 days21.8 hon time
Insolvency watch2 days22.4 hon time
Spanish insolvency index (hashed)2 days22.4 hon time
Natural hazards at tracked projects34 days31.4 hon time
Satellite watch (Sentinel-2 and Sentinel-1)10 days2.3 dayson time
Monthly optical progress series10 days2.3 dayson time
Stalled construction sites10 days31.4 hon time
Night lights at finished projects10 days31.4 hon time
Visual changes on developer pages3 days31.4 hon time
Reused renders across projects9 days42.3 hon time
Perceptual image hashes9 days42.3 hon time
Render index10 days4.3 dayson time
Similar projects2 days1 minon time
Mystery shopper programmenone2.3 daysno schedule
Product roadmapnone4.3 daysno schedule
Fictional sample scorenone9.3 daysno schedule
Sample photo progress analysisnone6.4 daysno schedule
Coastline outline tilesnone5 minno schedule
Mangrove index tilesnone22.4 hno schedule
AI desk review benchmarknone32.4 hno schedule
Accessibility audit2 days21.4 hon time
Lighthouse scores2 days18.9 hon time
Site QA crawl2 days18.0 hon time
Synthetic user journeys2 hours14.8 hlate
Independent verifier run2 days14.8 hon time
Chaos drills9 days18.4 hon time
Security scan9 days45.4 hon time
Backup restore drill9 days46.2 hon time
Deploy guard recordnone16.1 hno schedule
Site manifestnone13.4 hno schedule
Reproducible worker buildsnone13.4 hno schedule
Property-based tests of the scoring rulesnone34.3 hno schedule
Shipping log2 hours4 minon time
Roadmap items verified live2 hours4 minon time
Page weight2 days0 minon time
Visual regression tests2 days0 minon time
findings-by-project.jsonnone2 minno schedule
live-findings.jsonnone2 minno schedule

Machine-readable

Method and limits

Bytes and SHA-256 are of the exact bytes https://kolaboro.com/data/ served to the job. A tile set has one SHA-256 over the sorted "sha256 path" lines of its files.

Each JSON file is validated against its JSON Schema (2020-12) in /data/schemas/kolaboro-data.schema.json. The contracts were written from the files as published on 5 Nov 2026: every top-level key is required with its type, items of top-level lists and maps must keep the keys every item had, numbers are "number", deeper optional values may be null. Parquet files are checked against the columns and row count in kolaboro.parquet.json, tiles and screenshots against their binary headers. API answers are validated against the response schemas in /docs/api/openapi.json, which were inferred from live responses.

Limits: a contract checks shape and types, not whether the values are right. The contracts started from the files as they were on 5 Nov 2026, so they describe what was published then and can be too strict when a file legitimately grows a new optional shape; such a failure is shown here, not hidden. Row counts count the main list or map of each file (the unit is named). Descriptions are written by hand from each file's own method text; the numbers are measured.

Licence: CC BY 4.0 (credit: Kolaboro, kolaboro.com) unless a dataset says otherwise; third-party sources keep their own terms, named in each file.

Protect my purchase