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 / Database / Promise tracker

Developer promises, dated and followed

What developers promised, and whether the date held

Every dated promise we found for the projects we track: handover, construction start, structure, permits, rental programmes. Each one is tied to an exact quote that our software found word for word in the stored text, then followed over time: kept, broken, moved later, pending, or unknown when we hold no evidence either way.

…Loading the promise data

Broken is used only with evidence. A promise is broken only when its date has passed and an observation made after that date shows the event had not happened. A past date without such evidence stays unknown. Projects are anonymous: we publish the status, dates and fingerprints, not the quotes, because a quote would identify the project.

Look up a project

Enter the project id from its Kolaboro page, for example BALI-014.

By market

Share of each market's dated promises by status. Markets with fewer than 5 promises are grouped at the end.

KeptBrokenMoved, still aheadPendingUnknown
MarketProjectsPromisesStatusKeptBrokenEver movedMedian months moved

By kind of promise

PromisePromisesKeptBrokenMovedPendingUnknownEver moved

How it is built

Where the promises come from
Two stores our research agent already keeps: the research record of each project, and the text of the developer or listing page on every day the agent read it (its SHA-256 fingerprint is sealed in the daily public log). Only passages around a year from 2024 to 2035 are sent to the model.
The quote check
The model (claude-haiku-5-5) must return the exact words for every promise. Software then looks for those words in the stored text, ignoring only case, spacing and typographic quote marks, and checks that the quote contains the year. Anything else is rejected and counted below.
Moved
A promise counts as moved only when the same source later shows a later date: an earlier copy of the same page, or a research record that states the original date. A disagreement between two different sources is not counted as a move. When one page copy states two dates for the same promise, claude-sonnet-5-5 decides which is current or says they are separate phases; if it cannot tell, that copy is not used.
Limits
Our daily page copies start on 28 October 2026, so moves before then are visible only where a research record states the original date. Many developers publish only a year, which we read as the end of that year. Kept from a page copy means the developer's own page says it happened.

Checks and spend

Loading…

Data: /data/promises.json (CC BY 4.0, credit Kolaboro). One project: /api/x/y/promises?id=BALI-014.

Protect my purchase