Privacy Policy

We measure the basket, never the shopper

Last updated: 1 November 2026

AnHarga is built on a single rule: the index should learn the price of an item in a place — never the identity of the person who photographed it, nor the good name of a single shop. This policy explains what a price observation deliberately refuses to capture, how a receipt is stripped to a number, and why a well-designed national price index has no shopper-profile or accused-merchant database to breach.

01Only a price travels, not a person

When a shopper submits a photo, the index records one thing: an item, a price band, a coarse area and a time. It is a property of a grocery line at a moment, not a record of who bought it. The shopper’s identity, loyalty number, payment method and full basket are never fields the schema carries, so they never enter the system.

02Receipts are redacted to a number — before storage

A capture is of a shelf label or a total line, not a document about a person. Names on a receipt, card last-digits, loyalty and membership numbers, and any face or body in frame are masked at ingest, and image metadata (EXIF, precise GPS, device id, exact timestamp) is stripped before anything is kept. A payload that looks like an un-redacted personal document is refused at the validation boundary, not quietly stored.

03Aggregates, never people — bands, never names

What the ministry and the public see is a price band for an item in an area, computed across many independent submissions. No output ties a price to a named individual, and no submission is ever published as “this person paid this.” Contributor reports are tagged to a rotating, time-windowed pseudonym, so a shopper’s separate receipts cannot be strung into a profile — by anyone, including the operator.

04The k-floor and the index-not-accusation rule

An area only publishes a band once enough independent observations clear a k-anonymity floor. Below that floor it reads nothing — never a single store’s lone price that could effectively name and accuse one shop. The index describes where prices sit nationally; it is not evidence against a specific merchant, and enforcement due process is deliberately a separate, human track. Thin or lone data is designed to collapse to silence.

05Malaysia-hosted, PDPA-by-design

The reference implementation and any production instance are Malaysia-hosted and structured to satisfy the Personal Data Protection Act 2024 by construction rather than by clause: shopper identities are not collected, receipt personal data is redacted at the edge, and no cross-shop join key exists, so there is no consumer profile to disclose. Where the law asks for purpose limitation and minimisation, the architecture answers it before a policy has to.

06Pilot and merchant confidentiality

During scoping and any first state-level reference basket, participating ministries, merchant chains and consented supply partners — and any early coverage or density figures — are named only with their consent. Area bands and merchant ground-truth feeds are reported without identifying any organisation that has not agreed to be named. Anonymity for the pilot cohort is a rule of the index, not a courtesy.

07Contact and your rights

To ask how any field above is enforced in code, or to raise anything about the data the index handles, write to anharga@antrex.app or use the Antrex contact desk at antrex.app/contact.