Privacy and methodology
This project only works if those who report feel safe. There are no accounts: your email and your report never touch each other.
This is a translation; the Portuguese version prevails.
What we store
Table "report credits"
- A keyed hash of the email (HMAC with a secret key stored outside the database) — never the email
- The month from which a new report is allowed
- A single-use code (only its hash), deleted after use
- Nothing else: no email, no name, no password
Table "reports"
- Parish and street (no door number: if you give it, it is used once to place the point and then deleted)
- Accommodation type, total monthly rent, part paid off the books and declared amount
- Contract type, registration with Finanças (yes, no or don't know), receipts and payment method
- People, rooms, m², conditions and situations (checkboxes)
- Year the contract started
- The report month (first day of the month, no day or time)
- An optional note of 140 characters, reviewed by a person before publication and deleted if rejected
- A map position already shifted 50–100 m at random
- A fingerprint (hash) of the report key, so you can delete it
No column links the two tables, not a user ID, IP, session, or date and time. Reports are published in a single daily batch at 06:00, and the table is rewritten in random order every day, so not even the row order reveals who reported when.
We never store: report counts, report identifiers, IP addresses in reports, landlord names or exact addresses, nor the email or the door number. We do not use analytics, advertising, trackers, or third-party scripts or fonts. Request logs never store the IP on report submissions and are kept for 7 days. The rate limit uses a hash of the IP that changes every day.
How we ensure anonymity
-
1
You fill in the report on the map. The street is required. The door number is optional: it is only used to place the point and is deleted right after.
-
2
You confirm your email with a code. We send a 6-digit code. From the email we only keep a keyed hash, to allow 1 report every 12 months. The email itself is never stored.
-
3
Report saved without an author. The report is dated to the month only and keeps just a fingerprint of your report key. Nothing links it to your email.
-
4
Daily publication. It appears in the next publication, at 06:00, together with all the reports from that day. The table is rewritten in random order.
-
5
Encrypted in transit and in backups. Everything travels encrypted (HTTPS). Backups are encrypted and deleted after 30 days.
The site is hosted on a server in the European Union (Hetzner Online GmbH). Our host can see network traffic, as any operator can, but report records never include IP addresses. Maps come from OpenFreeMap (OpenStreetMap data): your browser loads the map images from there, so OpenFreeMap sees your IP address, as any website that serves content does. The verification email is sent through an email delivery provider: [FORNECEDOR DE E-MAIL].
Map rules
- Shifted points. Each point is shifted at random within the parish (or up to ~100 m along the street, when we know its geometry) and stays fixed, so reloading the page does not allow averaging.
- Streets with 3+ reports. The street name only appears with 3 or more reports.
- Parishes with 5+ reports. A parish's values are only shown with 5 or more reports.
- Limited zoom. Zoom stops at block level.
- Bands, not values. Dots only show a rent band (one of 6 colours), never the exact value.
- Rounded to €10. Public values are rounded to €10.
- Flags. Anyone can flag a report. With 5 flags from different people, the report is hidden until a moderator reviews it.
Methodology
We use medians and percentiles, never averages.
Reports older than 24 months are left out of the current values (but still count in the "by contract year" chart).
Values outside 3× the parish's interquartile range are held for human review before they are published.
Each email can only report once every 12 months (we only store a keyed hash).
Reports are voluntary and contracts are not verified. That is why every figure always comes with its n.
The "vs. listings" comparison uses values copied by hand from public listing portals.
Open data
We publish a CSV aggregated by parish, street (with 3+ reports) and accommodation type, updated every day after publication, under the CC BY 4.0 licence. We never publish individual records.
API documentation
The JSON API has the same thresholds, open CORS, a 1-hour cache and a rate limit.
- GET /api/v1/parishes?unit=room|t0_t1|t2_plus|all
- GET /api/v1/parishes/:slug
- GET /api/v1/map?unit=room|t0_t1|t2_plus
- GET /data/latest.csv
Your rights
There are no accounts to delete. You can delete your own report with your report key, under "My reports".
If you lose the key, we cannot delete the report for you, because nothing links it to you. That is what protects you.
To stop having data under the limit of 1 report per year, contact us: we only store a hash of the email, not the address. You may also file a complaint with the CNPD (National Data Protection Commission).
Data controller: [ASSOCIATION NAME] · [CONTACT EMAIL]. Legal basis: the consent you give when you publish a report.
Privacy policy (GDPR)
This is the RealRents privacy policy, issued under the GDPR. We have written it in plain language and only describe what we actually do.
- Data controller
- [NOME DA ASSOCIAÇÃO], with its registered office at [MORADA]. Contact for anything relating to personal data: [E-MAIL DE CONTACTO].
- What data we process, and why
- There are no accounts. We use your email once, to send a 6-digit code valid for 15 minutes, and we do not store it. We keep a keyed hash of the email (HMAC, with a secret key kept outside the database) and the month from which you can report again, to allow 1 report per email every 12 months. The code is stored only as a hash and deleted once used.
- Legal basis
- To prevent abuse (1 report per email per year, request limits, security), the legal basis is our legitimate interest under Article 6(1)(f) of the GDPR. Publishing anonymous, aggregated data is not the processing of personal data.
- How long we keep data
- The email hash row is deleted automatically once the date on which you can report again has passed. Reports are kept as long as they are useful for the statistics; those older than 24 months drop out of the current figures. You can delete yours at any time with your report key.
- Who else processes data (processors)
- The server is in the European Union (Hetzner Online GmbH). The verification email is sent through an email delivery provider: [FORNECEDOR DE E-MAIL]. Maps are loaded directly from OpenFreeMap by your browser.
- Transfers outside the EEA
- Data stays within the EEA, except possibly with the email provider. If [FORNECEDOR DE E-MAIL] is outside the EEA, we rely on standard contractual clauses.
- Cookies and local storage
- We only use strictly necessary cookies, one for language and one session cookie that protects forms (CSRF). There is no analytics, advertising or tracking. Your browser's local storage keeps small preferences (welcome card closed, map view, zoom notice already shown) and, if you choose, the keys to your reports.
- Your rights
- Since we do not store your email, we generally cannot identify you (Article 11 of the GDPR). You can still ask for access, rectification or erasure, or object, by writing to [E-MAIL DE CONTACTO]. You also have the right to lodge a complaint with the CNPD (www.cnpd.pt).
- Changes
- If we change this policy, we will update this page and its last-updated date.
Contact
Data controller: [ASSOCIATION NAME] · [CONTACT EMAIL].
Found a security problem? Report it responsibly — see /.well-known/security.txt.