What this build is, and what it is not
This page is not a contract and it is not drafted by a lawyer. It is a plain statement of what this software does, where its numbers come from and what they are not good enough to be used for. It says the same things the disclaimer at the bottom of every page says, at greater length.
Caution: No lawyer has read this page
Nothing on it has been reviewed by counsel and nothing on it is an agreement anybody has entered into. There are no terms and conditions in this product yet: this is a description of the build, standing in for the drafted terms a released version would carry. docs/GO_LIVE.md carries the item, which is to have a lawyer read the terms of use and the privacy policy.
This is a demonstration build
Nested is a working demonstration of one product idea: that everything about buying a home in Ontario, including what each house costs to own, belongs in one place. Every screen is real software running real arithmetic. What sits underneath it is a seeded dataset rather than a live market feed, which is the one difference that changes how you should read the rest.
There is nothing here for you to buy. No account, no sign in, no card field and no subscription on the reader side of this product, so there is nothing to cancel and nothing that could charge you.
There is money in the design of it, though, and none of it would come from you, which is worth being told rather than left to infer. Two arrangements are stated in the product itself and not only here. Trades pay to receive quote requests, on one of four plans: one of them free, and three that cost a monthly fee, a fee for each lead the trade accepts, or a share of a completed job. Every price is published on the page that asks a trade to join, rather than quoted on a call. And we take a referral fee from some advisors when an introduction leads to a transaction, which the advisor directory states above its results and which the card of each advisor it applies to repeats on its face. Today that is two of the nine advisors in this build.
So the paying parties are the people we would introduce you to, and that is the conflict to read the rest of this page against. What the code does about it is narrow and checkable rather than reassuring: payment is not an input to how advisors are ranked, an advisor who pays us is excluded outright from a second opinion, and no plan makes a trade eligible for work it holds no licence for. None of that is a claim about motives. It is a constraint somebody can read.
And none of it has happened. There is no payment code in this build at all: no processor, no card field, no invoice, no billing record and nothing that could produce one. The form that asks a trade to join says on its own face that nothing is charged by it, the application it produces is held in the memory of one server process and is gone when that process restarts, and every trade and advisor in here is a seeded record with an invented business and an invented licence number, so there is nobody real to bill and nobody real to be paid by. The plans are a published intention. Read them as what this product would charge, not as an arrangement anybody is inside.
The listings are seeded, and every one of them says so
The properties in this build are generated seed records. They are not live MLS listings, they are not for sale, and the addresses do not describe houses that are on the market. Each one carries a label saying it is seed data, on the card and on the listing page, and that label is not removed anywhere in the product. The same is true of the tradespeople, the advisors and the market statistics: seeded, and marked as seeded where they appear.
Prices, sale histories and days on market in those records are generated to be plausible, not to be true. Do not use them as evidence about any real property or about what any real neighbourhood is doing.
The figures are illustrations, not offers
Mortgage payments, stress-test results, affordability ranges, closing costs, the monthly cost of ownership, renovation budgets and investment returns are all calculations over the assumptions shown beside them. They change when those assumptions change. None of them is an offer of credit, a rate hold, a pre-approval or a quote, and no lender has seen any of them.
Insurance figures are priced off an estimated cost to rebuild and are not quotes: only an insurer can say what it will charge, or whether it will write a policy at all. Inspection prices are typical GTA ranges rather than a price from a named inspector. Where a figure is a fallback because a real input was unavailable, the page carrying it says so at the point of use rather than here.
Rates are sourced from the Bank of Canada Valet API and are dated on screen. Civic data is used under OGL-Toronto and OGL-Ontario. Map data is © OpenStreetMap contributors. Credential states in the trades directory record what was checked and when, and an unverified credential means nobody has checked it rather than that it failed. Confirm any licence number against the issuing registry yourself before work starts.
An advisor we are paid to introduce you to says so on their own card, next to the name, and that is the whole of what is labelled today. A trade carries no such label, and the reason is that nothing on the homeowner side of the trades directory is ordered or routed by us: you pick the trades yourself out of a list that payment is not an input to. Paid placement exists in the routing engine, it can take at most one of three slots, and it is shown only on the page that sells it to a tradesperson. If a routed list ever reaches a homeowner, it needs a label on it before it ships.
Where the listings are, and what the figures assume
The figures in this build are built for the Greater Toronto Area: comparable sales, rebuild cost per square foot and inspection ranges are GTA figures, and land transfer tax is Ontario's, with the City of Toronto's own tax added only inside Toronto.
This is why the header states which market you are looking at. A cost of ownership built from GTA comparables is not a number that carries to another market, and nothing else in the interface would stop you from reading it as though it did.
The 8 municipalities in this build: Kawartha Lakes, Markham, Mississauga, Oakville, Ottawa, Prince Edward County, Toronto, Vaughan. Of those, Kawartha Lakes, Ottawa, Prince Edward County are outside the Greater Toronto Area. The listings there are priced against GTA comparables and costed with GTA figures, because that is what the arithmetic in this build has, so treat those numbers as further from the mark than the rest rather than as local ones.
What is stored, what is sent, and where
Your shortlist, your saved searches, your checklist progress, your budget and financing answers and the record of what you have sent are written to this browser’s local storage on this device. There is no account, and no server here keeps a copy of any of it, so nothing follows you to another phone and there is no server-side store of it to be breached. Clearing your browser data, or using private browsing, removes it.
Being stored on this device is not the same as staying on it, and this build sends more than a reader would guess. Some of what you type reaches this server as you type it, with no button in between. The affordability calculator sends your income, your down payment and the monthly debt payments you entered, about a quarter of a second after you stop typing. There is no button on it that sends, because typing is what sends. The lender comparison sends those figures along with the credit band you picked, the employment type and the past bankruptcy or consumer proposal box if you tick it. The offer tool puts your income, your down payment, your debts and the ceiling you said you would not go above into the address of a request. Typing in the search box sends what you have typed so far. Opening the command palette or the saved screen sends the identifiers of the listings you shortlisted. The plan for after a deal goes firm sends your closing date. Moving a slider on the cost of ownership, the investment view, the renewal analysis, the closing cost sheet, an insurance estimate or an inspection plan sends the figures behind it and gets the arithmetic back.
What those requests do is compute and reply. Not one of them is written to a database, to a file, or to any list that outlives the answer, because there is no table in this build that a figure you typed could reach. Two things the server holds briefly are worth naming rather than hiding inside that sentence: the text you type in the search box becomes a cache key kept in one server process for an hour, and every request is counted against a key derived from your IP address for the length of a short rate limiting window. When a request fails the server writes one line, and that line carries the path with everything after the question mark dropped, so the figures the offer tool puts in an address stay out of it.
The rest leaves only when you send it: an advisor introduction, a viewing request, a quote request to a trade, an insurance or inspection enquiry, or a trade’s application to join. In each case what is sent is the fields you saw on the form before you pressed the button, the box that attaches your buyer file to an advisor introduction starts unticked, and on a deployment that has email configured two of those forms reach an email provider. The privacy policy sets out which parts of them go and which parts are refused.
Your file lists every storage key this app writes, what each one holds, and a control that deletes it.
What is outside this app is worth stating so the paragraphs above are not read too broadly. Whoever hosts this app receives every request you make to it and can log it the way any web server logs one, and a host that records the full address is recording the figures this app puts in a query string. The map fetches its tiles and its label glyphs from a tile provider and a font server, so those two see your IP address and which part of the map you are looking at. The geocoder behind the search box is the other way round: it is called by this server rather than by your browser, so it sees the text you typed and not you.
This is not advice
Nothing in this product is financial, mortgage, legal, tax, insurance or real estate advice, and nobody here is your agent, broker, lawyer or adviser. The answer bank cites the statute or dataset behind each answer so you can check it, and citing a source is not the same as advising you on your situation.
Decisions about a purchase belong with people who are licensed for them and who have seen your actual circumstances: a mortgage broker or lender, a real estate lawyer, a licensed insurance broker, a home inspector, and your own accountant. Verify FSRA licensing before dealing with any lender, and treat private-lender terms as carrying higher costs than the illustrations here.
Use of this build is at your own risk, and the arithmetic being right is not a promise that any outcome it describes will happen.
Changes to this page
This page is edited when the product changes, and there is no notification when it is. If a statement here ever contradicts what a screen in the app tells you, the screen is the one to believe about its own numbers, and the contradiction is a defect worth reporting.
There is no date on this page, and that is deliberate rather than an oversight. A date is what makes a document look settled, and nothing here has been drafted or reviewed by anybody qualified to settle it. The privacy policy records the same decision about its own date, as one of the clauses it is waiting on.
Reports go to the address on the support page, which reaches the operator and is the only route this build has. That page also says which complaints are defects and which are the seed data behaving as labelled, so a report lands on something actionable.