Every value on the screen can answer for itself
Where it came from, when it arrived, who put it there and how confident we are. Data integrity is not a policy page here. It is the way the thing is built.
Three ladders, and every value records which rung answered it
Nothing in ProspectBase is decided by a confidence number alone. Each kind of value climbs a ladder of evidence, and the surface tells you where it stopped. Where two rungs disagree, you get a warning, not a silent pick, because a tie-break invents a decision nobody made.
The important one is at the bottom of the third ladder: a number nobody has washed is shown as unwashed. It is never rendered as clean just because no one has said otherwise.
Ladder 1 · what this column is
Ladder 2 · who owns this property
The rule that matters: your newest file cannot downgrade better data, and nothing you have ever loaded is discarded to make room for it.
Ladder 3 · can we call this number
Seven commitments that shape the code, not the copy
One durable door per address
The address is the permanent record. Owners, matches and imports come and go around it. Your history at a house survives every refresh, every ownership change and every re-import, because none of them own the record.
Observed points, never spans
We can evidence who owned a place at these moments. We cannot evidence who owned it for an unbroken stretch, so we do not draw one. Every activity also stamps who owned the property at the time it happened.
If the server did not supply it, it is not shown
No field is derived in the browser to fill a gap. Where there is nothing to say, the section is absent rather than an empty shell implying something is missing.
Your team's edits stay yours
A number typed by an agent is held separately from sourced data and overlaid on it, precisely so it can never masquerade as sourced and skip the unwashed stamp that belongs to it.
A cap is always named
Audience limits, overlay limits, lookup limits. Every one of them says the number out loud before it applies. There is no silent truncation anywhere in the product.
Warn, never hide
A restricted or unwashed number goes into your list carrying its state rather than being quietly removed. The tool supplies the facts. You keep the decision.
Never spend to discover what you already hold
Paid lookups only ever run on doors with no reachable number, and the system refuses to re-buy a number already on the current owner. A failed lookup is not charged, and the quote says so.
Two figures are never added together
Owners and properties are separate labelled numbers. Where a count is a sample rather than a whole, the surface says "at least" and names what was cut off.
You see the price and the saving before you spend a cent
Contact washing and number lookups cost money, so they are built quote first. The preview is free by construction, not by promise: an automated check on every build asserts that the pricing path cannot even load the paid connection.
The quote names the doors in scope, the ones excluded and why, and what you are not being charged for. A retry replays the same quote, so a double click never costs you twice.
Illustrative figures. The button to run this does not exist on screen until a quote does.
Bring the messiest file you own
The one with three address columns and a phone field somebody typed notes into. That is the interesting demo.