This Privacy Policy explains how eprojac Ltd (“eprojac”, “we”, “us”) collects, uses, and protects personal data in connection with PDigger, including the website at local.pdigger.com, the Mac application, Google sign-in, and the signed-in VLM assistance proxy.
PDigger is made by eprojac Ltd.
1. Scope and roles
PDigger is offered for personal and professional use on Apple silicon Macs.
eprojac acts as a controller for personal data relating to the website and to customer accounts and service records: account administration, sign-in, quotas, and the record of each request it serves, where eprojac determines the purposes and means of processing.
eprojac generally acts as a processor for customer content submitted to VLM assistance by or on behalf of a user after sign-in — selected images and text needed for a question, skill, checkpoint, screening crop, or automatic interpretation of a recorded activity group — where that processing is carried out on the user’s instructions. The user (or their organisation) is responsible for whether personal data appears in captured or submitted content and for having a lawful basis to use the service.
Where eprojac processes personal data on behalf of a customer and UK GDPR, EU GDPR, or similar law applies, the Data Processing Addendum applies.
PDigger is for adults. You must be at least 18 to use it. It is not directed at children, and we do not knowingly collect personal data from anyone under 13. If you believe a child has given us personal data, email admin@eprojac.com and we will delete it.
2. Who we are
The controller for the personal data described in this policy, unless stated otherwise, is eprojac Ltd, a private limited company registered in England and Wales under company number 16877519.
Registered office: 17 Drakes Close, Esher, Surrey, United Kingdom, KT10 8PQ
Privacy contact: admin@eprojac.com
eprojac is a small company run by its founder. It is not required to appoint a data protection officer, because none of the conditions in Article 37 of the UK GDPR or the EU GDPR applies to it. eprojac has no establishment in the EU and has not appointed a representative there. It relies on the exemption in Article 27(2)(a) of the EU GDPR on the basis that its processing of data relating to people in the EU — a small number of sign-in profiles, short-lived usage counts and logs, website analytics collected only with consent, and screen evidence that it processes transiently as a processor without storing it — is occasional and small in scale, does not include large-scale processing of special categories of data or criminal-offence data, and, taking into account its nature, context, scope and purposes, is unlikely to result in a risk to the rights and freedoms of individuals. We review this position as the service grows; if a representative is appointed, the details will be listed here. You can contact us directly at admin@eprojac.com or at the registered office above.
ICO data protection fee. eprojac processes personal data as a controller only for keeping customer accounts and records of the service it provides, including deciding whether to accept or keep a person as a customer, and for marketing its own business through website analytics collected with your consent. Those purposes are exempt processing under the Data Protection (Charges and Information) Regulations 2018, so eprojac is not required to pay the data protection fee to the Information Commissioner’s Office and is not on the register of fee payers. We keep only the personal data those purposes need, disclose it only as described in section 7, and will review this position if our processing changes.
3. Data we collect as controller
A. Account and sign-in data
- Google account email address
- Display name
- Subject identifier (Cognito / Google
sub) - Sign-in timestamps (first and last seen)
We do not receive your Google password. Sign-in uses Amazon Cognito with Google as the identity provider. Scopes are openid email profile.
B. Service records
- One usage ledger row per VLM request: purpose, status, token counts, latency, timestamp, linked to your subject identifier — never the content of the request
- Daily quota counters for your account
- One application log line per request in AWS CloudWatch: subject identifier, purpose, status, latency, and request size in bytes
- Sign-in events recorded by Amazon Cognito and AWS CloudTrail, as part of the record of each sign-in
- Connection metadata that TLS, CloudFront, and the proxy handle while serving a request; we do not keep it as a separate record
C. Website data
- AWS’s own operational logs for the content delivery network. We have not enabled CloudFront access logging, so we do not keep a per-visit web log of our own.
- Demo workspace state in this browser’s
localStorage(pdigger-landing-v1) if you use the interactive landing (fictional sample timeline unless you import JSON) - Website analytics via Google Analytics 4, only after you click Accept: page URL, referrer, device and browser type, approximate location, and Download button clicks. Nothing is loaded from Google, and no cookie is set, until you Accept. If you Decline, or your browser sends a Global Privacy Control signal, no request is made to Google. See the Cookie Notice.
We do not use advertising cookies, Google Signals, or any advertising features.
D. App data
Each time the Mac app starts, and when you choose Check for Updates, it requests https://local.pdigger.com/releases/latest.json (and canary.json on the canary channel) to learn whether a newer version exists. Each time it starts, whether or not you are signed in, it also requests https://local.pdigger.com/.well-known/pdigger-config.json, the sign-in configuration file (the Cognito domain, client ID, and proxy address). Neither request carries an account identifier or history. Like any web request, they expose your IP address, the time, and a user agent string (the app name and version and the macOS networking version, which is the system default) to AWS CloudFront, which serves both files. We do not keep a per-request log of these requests.
If you are signed in and your sign-in token is about to expire, the app also refreshes it with Amazon Cognito when it starts. That refresh sends your refresh token, which identifies your account, to Cognito (see section 3A).
E. Data that stays on your Mac
This is not data we collect. We list it so you know what PDigger stores on your computer and how to manage it.
- Screen recordings (frames and the text read from them by on-device OCR), document maps, and the capture buffer
- With Input Monitoring granted: keyboard and pointer events, including key codes and the active keyboard layout, modifier keys, pointer positions, clicks, and scrolling — except while macOS secure input is active, for example in password fields
- With Accessibility granted: the roles and names of controls in every window it captures (all visible windows it records, not only the one in front). PDigger also looks at the browser address bar (currently Google Chrome) only to recognise Google Docs, Sheets, and Slides, and keeps only the document identifier and the sheet, slide, or tab identifier; nothing is kept from any other web address, and URL credentials are never kept
- A local search index and on-device embeddings
These files live in ~/Library/Application Support/PDigger (for example history.msgpack, the document maps, and the capture buffer). PDigger integrity-hashes them but does not encrypt them. It relies on macOS FileVault for encryption at rest, so we recommend keeping FileVault on. Settings → Delete history… deletes the matching history records; it does not remove the document images those records referred to, which stay in the folder until you delete them. Settings → Reveal in Finder opens the folder so you can inspect or delete it yourself. Uninstalling the app does not delete this folder. Your sign-in session is stored in the macOS Keychain, not in this folder; Sign out deletes only that session.
4. Customer data we process as processor
After you sign in from the Mac app, PDigger may send bounded evidence to local.pdigger.com so we can return VLM assistance: selected images and text for Ask, skill generation, checkpoints, query refinement, automatic interpretation of recorded activity groups (which runs in the background while you are signed in and recording, capped per day), or a short-lived screening crop used only to classify uncertain media.
Requests also include counts of input events (for example how many keys were pressed or clicks were made) as context. Key codes, typed text, and pointer positions are never sent.
The evidence you send may include personal data and, if it appears in your screen content, special-category or sensitive data such as health or financial details. Whether to send it is your choice and, where you act for an organisation, its responsibility. We do not look for or use such data for any purpose of our own.
Request and response bodies (screen content) are not stored in our database or application logs. Large bodies may pass through an S3 upload object that is deleted as soon as it is read; an object that is uploaded but never submitted expires under a one-day S3 lifecycle rule, which removes it within about two days.
You retain control of local history, document maps, and the capture buffer on your Mac. Uninstalling the app does not delete local history.
5. Sources of data
We receive personal data from three sources:
- From you, when you visit the site, accept analytics, download the app, sign in, ask for VLM assistance, or contact us.
- From Google at sign-in: your email address, display name, and subject identifier, passed to us through Amazon Cognito.
- Generated by the service: ledger rows, quota counters, log lines, and timestamps created when you use it.
We do not buy personal data or obtain it from data brokers.
6. Purposes and lawful bases
Customer accounts and service records. We use your account, sign-in, and request data to accept you as a customer, set up sign-in, authorise VLM requests, apply quotas, and keep the record of each request we serve (purpose, status, token counts, latency, and timestamp). We use those same records to decide whether to keep accepting an account, for example after misuse of the service, and to keep the record of each request accurate, including what was recorded when a request fails. Lawful basis: performance of a contract, and legitimate interests in keeping accurate customer records.
Website analytics. Visit counts and Download button clicks tell us whether our marketing of PDigger, this website and its Download button, is reaching people. Lawful basis: your consent, given by clicking Accept. You can withdraw it at any time on the Cookie Notice page. We do not collect analytics without consent.
App updates. The update check is served by our content delivery network. We keep no record of it and do not use it for any purpose of our own. The request is not linked to an account.
Accounting and legal records. We keep the accounting records the law requires and, where a court or authority lawfully requires it, disclose records to it. Lawful basis: legal obligation.
We do not sell personal data, and we do not share it for cross-context behavioural advertising. We do not send marketing newsletters from this site.
7. Sharing and subprocessors
We disclose personal data only to the service providers below so that they can provide their services to us, to you at your request, where the law requires it, or to carry out your instructions.
Current subprocessors are listed on the Subprocessors page. In summary:
- Amazon Web Services, Inc. (United States,
us-east-1) — hosting, sign-in (Cognito), storage, compute, logs, and backups - Google Ireland Limited and Google LLC — Google as the identity provider for sign-in, and Google Analytics 4 for the website. Our Google Analytics contracting entity for UK and EEA customers is Google Ireland Limited.
- OpenAI, L.L.C. (United States) — VLM inference for requested assistance
We do not use submitted evidence to train our own models. The proxy sends every request with store: false, so OpenAI does not keep it for later retrieval and does not use it to train its models. OpenAI may still retain API inputs and outputs for up to 30 days to monitor for abuse, then deletes them. OpenAI is a US company; see section 8.
8. International transfers
eprojac is in the United Kingdom. Personal data is processed in the UK and in the United States, where AWS (us-east-1) and OpenAI operate, and by Google in its global infrastructure.
We rely on these transfer mechanisms:
- AWS — certified under the EU-US Data Privacy Framework, including the UK Extension. The AWS Data Processing Addendum also incorporates the EU Standard Contractual Clauses and the UK Addendum.
- Google LLC and Google Ireland Limited — Google LLC is certified under the Data Privacy Framework, including the UK Extension. Google’s data processing terms incorporate the EU Standard Contractual Clauses and the UK Addendum.
- OpenAI, L.L.C. — the OpenAI Data Processing Addendum incorporates the EU Standard Contractual Clauses and the UK Addendum, and OpenAI relies on the Data Privacy Framework where certified.
- EEA to UK — transfers from the EEA to eprojac in the UK rely on the European Commission’s adequacy decision for the United Kingdom.
PDigger does not currently offer a UK-only or EU-only processing region. Our subprocessors, and the customer accounts and service records they hold for us, may be located outside your country. You can ask us for more detail about a transfer at admin@eprojac.com.
9. Retention
- Local history, document maps, and the capture buffer: on your Mac until you delete them (Settings → Delete history… removes history records; delete the folder to remove everything, including the capture buffer and document images). Uninstalling does not delete them. Sign-out deletes only the Keychain session.
- Sign-in profile (email, subject identifier, first and last seen) and the matching Amazon Cognito user record: deleted automatically 12 months after your last signed-in use of VLM assistance (the last authenticated request the app made to local.pdigger.com), or sooner if you ask us to delete them.
- Usage ledger rows: 7 days.
- Daily quota counters: 2 days.
- Application log lines (CloudWatch): 7 days.
- Amazon Cognito sign-in events (recorded in AWS CloudTrail event history): 90 days.
- Temporary upload objects for large requests: deleted as soon as they are read; an object that is uploaded but never submitted expires under a one-day S3 lifecycle rule, which removes it within about two days.
- Database backups (DynamoDB point-in-time recovery): a rolling 7-day window, after which expired data is no longer recoverable.
- Google Analytics event data: 2 months (the GA4 default). Cookie lifetimes are in the Cookie Notice.
Expired database rows are removed by DynamoDB’s TTL process, typically within a few days of expiry. Records needed to meet a legal obligation or to defend a claim may be kept for longer.
10. Security and breaches
We use reasonable and appropriate technical and organisational measures designed to protect personal data, including TLS 1.2 or higher in transit, encryption at rest for AWS-managed stores, private site and upload buckets, JWT verification on the proxy, and a usage ledger that stores counts rather than screen content. Local history on your Mac is not encrypted by PDigger; it relies on macOS FileVault.
If a personal-data breach affects you and the law requires it, we will notify the relevant supervisory authority within 72 hours of becoming aware of it and tell you without undue delay. Where we act as a processor, we notify the customer as set out in the Data Processing Addendum.
VLM outputs are drafts. Review them before you rely on them.
11. Automated decision-making and AI outputs
We do not make decisions about you by automated means that have legal or similarly significant effects. Quota limits are applied mechanically to every account and have no such effect. Ask answers, skills, checkpoints, and query refinements are produced by an AI model on your request; they are drafts for you to review, not decisions about you.
12. Your rights
Depending on UK GDPR, EU GDPR, or similar law, you may:
- request access to personal data we hold about you
- request correction of inaccurate or incomplete personal data
- request deletion where applicable
- request restriction of processing where applicable
- object to processing based on legitimate interests where applicable
- request portability where applicable
- withdraw consent where processing is based on consent
Some rights have conditions and exceptions. If eprojac acts only as a processor for the relevant data, we may direct your request to the relevant controller. Use the Data requests page or email admin@eprojac.com. You can withdraw analytics consent at any time on the Cookie Notice page. If you are a US resident, section 13 also applies.
13. Information for US residents
eprojac is a small company based in the United Kingdom. It does not meet the thresholds at which the California Consumer Privacy Act or the other US state privacy laws apply, such as annual revenue, the number of consumers whose personal information is processed, or revenue from selling personal information. Those laws therefore do not currently apply to eprojac. This section explains our practices in the categories they use so you can see what we do anyway.
Categories of personal information. Identifiers (Google account email address, display name, subject identifier, IP address); internet or network activity (usage ledger rows, log lines, quota counters, and website analytics only after you Accept); approximate location from IP address, only within Google Analytics and only after you Accept; customer content you choose to send for VLM assistance, which we process as a service provider on your instructions and do not store. We collect no commercial information; there are no fees during the current period.
What we do not do. We do not sell personal information and do not share it for cross-context behavioural advertising. We do not use or disclose sensitive personal information other than to provide the service you request. We do not disclose personal information to third parties for their own direct marketing. We do not discriminate against anyone for exercising privacy rights.
Opt-out preference signals. We honour Global Privacy Control signals for website analytics: if your browser sends one, we do not load Google Analytics.
Requests. If you live in a US state and want to know what personal information we hold about you, or want it corrected, deleted, or provided in a portable format, use section 12. We answer every request. If a US state privacy law does apply to you, we respond within the period that law sets.
14. Cookies and similar technologies
See the Cookie Notice. In short: Google Analytics is loaded, and its cookies are set, only after you click Accept. Decline, or a Global Privacy Control signal, means no request to Google. Withdrawing consent on the Cookie Notice page also deletes the analytics cookies. App sign-in uses Cognito and Google cookies that are strictly necessary. The landing demo and your analytics choice use browser localStorage.
15. Changes
We may update this policy to reflect the service, the law, or our practices. The updated version will be posted on this page with a revised effective date. If changes are material, we may also provide notice in the app or by email where we have an address.
16. Contact and complaints
Email admin@eprojac.com or write to eprojac Ltd, 17 Drakes Close, Esher, Surrey, United Kingdom, KT10 8PQ.
If you are in the UK, you may complain to the Information Commissioner’s Office (ico.org.uk). If EU GDPR applies, you may also lodge a complaint with your local supervisory authority.
US residents: see section 13.