1. Who operates the app
Property Hunter is operated by Xiaochen Hou for a personal property search. It organises property-alert emails, records available listing information and supports review against official Victorian cadastral data. The current installation is for the owner’s use, with no public account registration.
These pages describe the application. Visiting them does not connect your Google account or give Property Hunter access to your email.
2. Gmail access and its limits
When the owner authorises the application through Google OAuth, it requests https://www.googleapis.com/auth/gmail.readonly. Google describes this permission as read access to Gmail messages and settings. The current workflow uses mailbox-profile information and reads messages selected by a configured Gmail search.
The OAuth permission is not limited to a single label. The application’s search filter—normally a dedicated property-alert label—narrows the messages it processes.
The application does not request permission to send, delete or modify email, mark messages as read, change labels or edit Gmail settings. The owner enters Google credentials with Google; Property Hunter does not receive the Google account password.
3. Filtering and property extraction
The workflow lists matching messages and retrieves their raw email data. That data can include message headers, HTML, plain text and MIME attachments. The listing parser uses non-attachment email-body parts; it does not separately fetch or analyse attachment files.
Messages are classified as property alerts, marketing, uncertain or parsing failures. Marketing does not produce property listings, although message metadata and its classification may be retained. Uncertain or incomplete information is marked for human review.
When present, the parser extracts listing identifiers and URLs, addresses, suburb/postcode, advertised price and property attributes. It records source references and timestamps, identifies duplicates and retains observation history. It does not follow opaque tracking links or scrape listing pages to fill missing details.
Usable property addresses and associated parcel references may be sent to official Vicmap GIS services to obtain parcel matches, geometry and approximate area. Gmail credentials and email bodies are not included in those GIS queries.
4. Data kept by the application
- Email metadata: message identifiers, checksums, subject, sender domain, sent/received times, import times, source references, classification and parsing outcomes.
- Property records: extracted details, listing-related text or field evidence, first-detected and observation timestamps, changes, source-email links, completeness/review status and GIS results.
- Processing records: a hashed mailbox identifier, Gmail message-processing receipts, run status and execution counts. The mailbox email address is read to derive the hashed identifier.
- Authorisation material: OAuth credentials needed for unattended read access, and restricted database credentials.
Local mode can retain original .eml messages, download metadata, SQLite databases, maps and private reports on the owner’s computer. Cloud mode uses temporary runner files for raw messages rather than uploading those messages as workflow artifacts. Extracted records and source metadata persist in the private database.
5. Service providers and transfers
- Google provides Gmail, OAuth authorisation and the owner’s contact inbox.
- GitHub Actions runs the cloud workflow. Repository Actions Secrets hold the OAuth and database credentials. Logs and published workflow artifacts are designed to contain execution counts and safe error codes, not email bodies or credentials.
- Supabase hosts PostgreSQL records in a private application schema, accessed through a restricted worker role. The project uses an Asia-Pacific region.
- Official Victorian GIS services receive the property/address queries described above.
- OpenStreetMap tile services may receive the browser’s network information and viewed map area if the owner enables optional online street tiles in a private parcel report. That layer is off by default; parcel geometry can be viewed offline. These public pages contain no embedded map.
- Cloudflare delivers these public pages and routes messages sent to the privacy contact address to the owner’s existing inbox.
These providers process the data needed for their functions. Their infrastructure may operate outside Australia; Australia-only storage is not promised. Private Gmail messages, listing history and credentials are not published on this website or in a public code repository.
6. Google API data and Limited Use
Information obtained from Google APIs, including derived information, is used and transferred only to provide the personal property-discovery and review functions described here, consistent with the Google API Services User Data Policy and its Limited Use requirements.
Google user data is not sold, shared with data brokers, used for advertising or retargeting, used to assess creditworthiness or lending, or used to develop or train general-purpose AI or machine-learning models. The current email parser does not send Gmail content to an AI model.
Transfers are limited to service providers needed for the disclosed functions with the owner’s authorisation, necessary security purposes, or legal obligations permitted by Google’s policy. Human access is restricted to the owner and the specific consent, security or legal circumstances permitted by Limited Use. Other access or new uses require the applicable permission and an updated disclosure.
7. Security
Cloud connections use HTTPS/TLS. OAuth and database credentials are kept in GitHub Actions Secrets or owner-controlled local credential files, not in published pages or versioned application code. Local OAuth token files written by the Gmail integration use owner-only permissions. The cloud worker has application-table access rather than database-administrator privileges.
Private databases, email downloads and reports remain subject to the owner’s account/device controls and the providers’ security settings. Local SQLite files are ordinary files; the application does not add file-level encryption. No system is guaranteed to prevent every unauthorised access or loss.
8. Retention
Discovery history, email metadata and processing receipts are retained for the personal search until the owner deletes or purges them. There is no automatic fixed deletion period for all application data. Local message files and reports remain until removed by the owner.
Cloud message files are temporary and removed through runner cleanup. Generated counts-only execution artifacts have a seven-day retention setting; workflow logs follow the repository’s separate retention settings. Copies in exports or provider backups can remain under their applicable retention rules after live records are deleted.
9. Control, revocation and deletion
The owner can stop synchronisation and remove Property Hunter’s access in Google Account third-party connections. Revocation stops future authorised retrieval when access is rejected, but does not itself delete information already stored.
Contact the operator below to request access, correction or deletion of application-held data. Requests are handled manually after verifying the requester. The owner can remove records from Supabase and SQLite and delete local messages, reports, exports and credentials. Synchronisation should be stopped and Google access revoked before deletion to prevent the same labelled emails being imported again.
Deleting application data does not delete the original messages in Gmail. Backup copies may expire under provider retention rather than disappearing immediately. No automatic deletion deadline is promised.
10. Public website visitors
These static pages have no public sign-up, analytics scripts, advertising, tracking pixels, external fonts or embedded maps. They do not access Gmail. Cloudflare may process normal network/security information, such as IP address, browser details and request timing, and may use security-related cookies under its privacy policy.
Messages voluntarily sent to the privacy contact address are handled as correspondence through Cloudflare Email Routing and the owner’s Gmail inbox. Please do not send passwords, OAuth tokens or complete Gmail messages in a privacy enquiry.
11. Contact and policy changes
Operator: Xiaochen HouPrivacy contact: privacy@xiaochenhou.com
Material changes to data practices will be reflected on this page. New uses of Google user data require the applicable disclosure and consent before they begin. The effective date above identifies this version.