Effective date: 29 October 2026 Last updated: 6 November 2026
This Privacy Policy explains how ERK SOLUTIONS ("Extracto", "we", "us", "our") collects, uses, discloses, and protects personal data in connection with the Extracto document-extraction service (the "Service").
We handle personal data in accordance with the Singapore Personal Data Protection Act 2012 (PDPA) and, where it applies to our customers' processing, the Malaysian Personal Data Protection Act 2010 (as amended, including the 2024 amendments).
Extracto processes two very different categories of data, and our legal role differs for each.
You, our customer, are responsible for having a valid legal basis and any necessary consent to upload documents and the personal data within them, and for issuing the privacy notices your own data subjects require.
When you run an extraction, the document is transmitted to our processing back-end and to our AI sub-processors (Section 5), and the extracted fields are returned to your browser.
We do not store the contents of your uploaded documents or the extracted data on our servers. Document content is held in memory only for as long as the request takes and is then discarded. It is not written to our database, not written to disk, and not recorded in our logs.
Most of what the Service produces stays on your device, in your browser's local storage, and is not visible to us:
| What | Where | Cleared by |
|---|---|---|
| Your licence code | Local storage (extracto_license_code) | Signing out, or clearing browser data |
| Extraction results and in-progress work | Browser session | Clearing the session, or closing the app |
| Settings, field templates, department and Sheet configuration | Local storage (docscan_settings_v1) | The in-app reset control, or clearing browser data |
| Audit trail — verifier name, timestamp, document name, and fields edited | Local storage (docscan_audit_log_v1) | The in-app "clear audit log" control only |
| Chosen export folder | Browser IndexedDB (qs_cloud) | Changing the setting, or clearing browser data |
Note the audit trail deliberately survives a session clear, so that a verification record is not lost when you clear your working data. It contains the name each verifier types in, and it is exportable to Excel. If your organisation treats verifier names as personal data of your staff, that record is yours to manage, retain, and delete — we have no access to it and cannot delete it for you.
We use personal data to:
To extract data from documents, the Service transmits document content to Google Cloud services. Processing is performed in Google Cloud's Singapore region (asia-southeast1).
| Sub-processor | Purpose | Location |
|---|---|---|
| Google Cloud — Vertex AI (Gemini models) | AI field extraction from documents | Singapore (asia-southeast1) |
| Google Cloud — Document AI (OCR) | Optical character recognition and page geometry, used for bank-statement extraction and for the editable Word export | Singapore (asia-southeast1) |
| Google Cloud Run | Application hosting | Singapore (asia-southeast1) |
| Google Cloud Firestore | Storage of licence, account, sign-in and security-lockout records | Singapore (asia-southeast1) |
No model training on your data. Document content sent to Vertex AI and Document AI is used only to generate the result for your request. It is not used by Google to train or improve its foundation models, consistent with Google Cloud's data-governance terms for these services. We do not use your document content to train any model.
Not sub-processors. Some destinations receive your data without it passing through our systems, and we are not a processor for them:
The Service is deployed so that AI inference, OCR, application hosting, and record storage all take place in Singapore (asia-southeast1). The AI models used in production are pinned to the Singapore regional endpoint rather than a global one.
We do not transfer personal data outside Singapore in the course of providing the Service. Where you choose an export destination outside Singapore — including a synchronised cloud folder — that transfer is yours, not ours.
| Data | Retention |
|---|---|
| Document content and extracted data | Not retained. Processed in memory for the duration of the request only |
| Licence and account records, including username and password hash | For the life of the licence, then automatically deleted 30 days after expiry |
| Security lockout records | Automatically deleted 7 days after the last failed attempt |
| Two-factor replay markers | Expire within approximately two minutes |
| Application error logs | Retained per platform default for reliability and security purposes |
| Billing and invoice records | As required by applicable tax and accounting law |
Deletion of licence and lockout records is enforced automatically by database time-to-live policies, not by manual process, so the retention limits above hold without anyone having to act.
We apply technical and organisational measures appropriate to the data, including:
No method of transmission or storage is completely secure, and we cannot guarantee absolute security.
We do not sell personal data. We disclose personal data only:
Subject to applicable law, you may request to access, correct, or withdraw consent for the processing of your personal data, and (where the Malaysia PDPA 2024 amendments apply) request data portability or deletion. Contact [email protected].
Two important limits:
Where we process document content on your behalf, that processing is additionally governed by our Data Processing Agreement, which sets out our obligations as a data intermediary/processor. Contact [email protected] to put one in place.
The Service does not use advertising or analytics cookies and does not track you across sites. It uses browser local storage, session storage, and IndexedDB to hold the items listed in Section 3.3 on your device. You can clear them with the in-app reset controls, or by clearing your browser's site data. The audit trail is deliberately excluded from the ordinary session clear and has its own control.
The Service is intended for business use and is not directed to children. We do not knowingly collect personal data from children.
In the event of a personal-data breach meeting the notification thresholds under the Singapore PDPA and/or the Malaysian PDPA, we will notify the relevant regulator and affected individuals or customers within the timeframes required by law, and will assist affected customers in meeting their own notification obligations.
We may update this Policy from time to time. We will post the updated version with a revised "Last updated" date and, where required, notify you.
Questions or requests: [email protected] · Data Protection Officer: [email protected].