# Data-access audit and checklist (Phase 0, 2026-10-27) | Item | Vrai Prix (sales) | Immo-Ka (listings) | External | |---|---|---|---| | Owner / rights | Author's platform (www.vrai-prix.com); registered sales assembled from the public Quebec land register and municipal rolls (MAMH). Research use authorised by the owner. No redistribution of record-level data. | Author's platform (immo-ka); listings aggregated from brokers/portals under their terms; no redistribution; listing remarks are third-party text. | MRNF SDA boundaries, MAMH municipality repertory (open data, WP 22). | | Access path | WP 22 processed layers (local parquet, `data/raw/`), derived from a `.backup` of `M3U96a:~/apps/vrai-prix/data/vraiprix.db` (2026-10-21). Live DB readable over SSH (read-only `sqlite3`). | `M4M64b:~/apps/immo-ka/data/immoka.db` (SQLite, 3.0 GB) + ancillary DBs: `inondation.db` (flood zones, WKB polygons + R-tree), `transit.db` (stops), `quartier.db` (DA statistics, schools, crime MTL), `rdl.db` (rents from the rental board). | files already in `../sharp-hpi-quebec/data/external`. | | Schema | `transactions(id,date,amount,street,city,lat,lng,property_type,year_built,floor_area,building_type,id_provinc,valeur_role,land_area)`; `units` (roll: cubf, type, year, areas, storeys, n_units, values, reference date, DA); see WP 22 `docs/snapshot_schema.sql`. | `listings(uid, source, address, city, region, property_type, price, bedrooms, bathrooms, area_sqft, lot_sqft, year_built, mls, status, description, features, details, images, lat, lng, first_seen, last_seen, active, dup_hidden, dauid, vraiprix(JSON link to roll unit), quality_score)`; `price_log` (ask-price history). | — | | Coverage | 771,439 sales 2021-01-04 → 2026-10-13 (live, 2026-10-27); snapshot: 769,995 to 2026-10-07. Whole province. | 479,265 listings, first seen 2026-08-12 → 2026-10-27; 195,503 linked to a roll unit; 111 marked sold. | — | | Update frequency | nightly crawl of the register (publication lag 2–8 weeks, measured in WP 22). | continuous. | — | | Join keys | `id_provinc` (roll unit id) ↔ `units.id_provinc`; coordinates. | `vraiprix.id` = roll unit id (`id_provinc`), `dauid`; coordinates. | DA id, municipality code. | | Privacy | street address present → **not sent to LLM APIs**; coordinates rounded to 3 decimals; municipality/borough names kept. No names of parties in the data. | broker names/phones and free-text remarks present → **never sent to APIs**. | public. | | Decision | **Primary source.** Residential classes house/condo/plex, roll-matched, with coordinates. | **Not used in the main arms** (coverage starts after the test window; ask prices would be an information asymmetry). Optional: descriptive link of prospective-set sales to their listing (ask price, days on market) in Section "Fundamental-value triangulation". Ancillary geospatial layers (flood zones, transit stops, DA statistics) are used for the `GeoContext` **of every arm** (as-of-invariant layers). | used for geography. | ## Leakage-relevant facts * The Vrai Prix `market_index` and the `units.est_*` columns (platform AVM estimates) are computed from the full history → **excluded** from all evidence. * Roll values are known at sale (public), with a reference date ≈ 18 months before entry in force; they are given to all arms with their reference date. * Prior sale of the same parcel (strictly earlier) is given to all arms. * Listings would reveal ask prices and post-cutoff status for some sales → excluded from arms. ## Credentials * No credential needed for data (SSH keys of the cluster). API keys for providers in `.env` only; the key pasted in the task for Anthropic was rejected by the API (`authentication_error`); the key found in WP 14's `.env` (same owner) authenticates and is used instead — to be rotated by the owner. * Research-ethics: secondary use of public-register data by the data owner; no human subjects. A human-appraiser arm would require a UQO ethics certificate: **pending, not performed**.