zonov.ai

Privacy Policy

Last updated: May 2026  |  Effective: May 2026  |  Version: 1.2

This Privacy Policy explains how the zonov.ai Chrome Extension ("Extension", "we", "our") collects, processes, stores, and shares information when authorised hospital staff ("User", "you") use the Extension to streamline patient registration in hospital HIMS systems.

Important: This Extension processes sensitive personal and biometric data including Aadhaar card details, voice recordings, and facial recognition descriptors. All data handling is fully described below. By using this Extension, you confirm you are authorised hospital staff and that appropriate patient consent has been obtained in accordance with the Digital Personal Data Protection Act 2023 (DPDP Act) and applicable hospital privacy policies.
Contents
  1. What the Extension Does
  2. Face Recognition – How It Works
  3. Voice Input – How It Works
  4. Local vs. Cloud Processing
  5. Data We Collect and Why
  6. Third-Party APIs and Services
  7. Data Retention Policy
  8. Permissions Justification
  9. Security Measures
  10. Data Subject Rights
  11. Consent and Legal Basis
  12. Changes to This Policy
  13. Contact

1. What the Extension Does

zonov.ai is a hospital productivity tool designed exclusively for authorised medical registration staff. It reduces manual data entry during patient registration by using three AI-powered features:

2. Face Recognition – How It Works

Key point: No photographs are ever uploaded or stored. Face recognition produces only a compact 128-number mathematical descriptor from an image processed entirely on the user's device.

2a. The Face-API Library

Face recognition is powered by face-api.js, an open-source JavaScript library built on TensorFlow.js. All model inference runs entirely within the browser on the hospital staff member's device (CPU-based, no GPU required). The model files (approximately 6 MB) are bundled directly inside the Extension and are never downloaded from external servers.

2b. What the Camera Captures

When face recognition is triggered, the Extension activates the device camera for a live preview. A video frame is captured at the moment of registration or matching. This raw image:

2c. The Face Descriptor

The face-api library extracts a 128-dimensional numerical vector (an array of 128 floating-point numbers) from the face image. This is called a "face descriptor" or "face embedding". It represents the geometry and features of the face as numbers – it cannot be reverse-engineered back into a photograph.

Matching is performed using Euclidean distance – two descriptors are compared mathematically. A threshold of 0.38 is used; descriptors with a distance below this threshold are considered a match. This computation runs client-side in the Extension, not on any server.

2d. What Is Stored

2e. Face Matching Flow (Returning Patient)

  1. Staff activates "Return Patient" mode
  2. Extension loads all stored face descriptors from Supabase into browser memory (cached locally in chrome.storage.local)
  3. Camera captures a live frame
  4. face-api.js computes the query descriptor on-device
  5. Euclidean distances are computed locally against all stored descriptors
  6. If a match is found (distance < 0.38), the patient record is fetched from Supabase and the form is auto-filled
  7. No face data leaves the device during matching – only the final patient record retrieval is a network call
Biometric Data Notice: Facial descriptors constitute biometric personal data under India's Digital Personal Data Protection Act 2023 (DPDP Act) and GDPR. Hospital operators are responsible for informing patients and obtaining their explicit, informed consent before enrolling their face. zonov.ai provides the technical infrastructure only – consent management is the hospital's responsibility.

3. Voice Input – How It Works

Key point: Voice recordings are used only for live transcription and are discarded immediately after the transcript is generated. No audio is stored.

3a. What the Microphone Captures

When Voice Fill is activated, the Extension uses the Web Audio API (running in a Chrome Offscreen Document) to capture microphone audio. The audio is recorded using the MediaRecorder API in audio/webm format (typically Opus codec) at mono quality.

3b. Silence Detection

The Extension continuously monitors audio energy levels to detect when the user has finished speaking. Recording automatically stops after approximately 2.5 seconds of silence (configurable) or a maximum of 15 seconds. No continuous or background recording occurs – the microphone is active only while the Voice Fill button is held or clicked.

3c. Transcription

The recorded audio blob is sent as a single HTTP request to the Extension's backend proxy server (extension-backend.zonov.ai), which forwards it to Groq's Whisper API for speech-to-text transcription. The audio file is:

3d. What Happens to the Transcript

The text transcript is parsed by the Extension to identify relevant data fields (mobile number, email address, patient complaints, etc.). These values are auto-filled into the corresponding HIMS form fields. The transcript itself is not stored in any database.

3e. Language Support

The Whisper model supports Indian languages including Hindi, Hinglish, Tamil, Telugu, Bengali, and others. The Extension instructs the model to transcribe in English (Latin script) to ensure compatibility with HIMS form fields.

4. Local vs. Cloud Processing

The following table clarifies exactly where each type of data processing happens:

OperationWhere ProcessedNetwork Call?
Face descriptor computation (TensorFlow.js)On-Device Browser CPUNo – fully local
Face descriptor matching (Euclidean distance)On-Device Browser JSNo – fully local
Face descriptor storage (enrolled patients)Supabase DBYes – HTTPS to supabase.co
Face descriptor cache (for matching)On-Device chrome.storage.localNo – cached locally
Aadhaar card OCR (text extraction)Groq API via backend proxyYes – image sent over HTTPS
Voice transcription (Whisper)Groq API via backend proxyYes – audio blob sent over HTTPS
Patient record storageSupabase DBYes – HTTPS to supabase.co
Staff authenticationSupabase AuthYes – credentials sent over HTTPS
Form field label memoryOn-Device chrome.storage.localNo – fully local
HIMS form auto-fill (DOM manipulation)On-Device Content ScriptNo – fully local
Silence detection / audio level meteringOn-Device Web Audio APINo – fully local
Summary: Face recognition model inference, face matching, form auto-fill, and audio level analysis are entirely local operations – no patient biometric data leaves the device during these steps. Network calls occur only for ID card OCR, voice transcription, and patient record read/write operations in the database.

5. Data We Collect and Why

5a. Patient Identity Data (from Aadhaar / ID Card Scan)

When a staff member scans an ID card, the following patient data may be extracted and stored:

Purpose: To populate the HIMS registration form instantly and to enable returning patient lookup so the same patient does not need to be re-registered on future hospital visits.

Storage: Stored in a private Supabase PostgreSQL database (nnzozslhgdmgnfhtadoq.supabase.co) scoped to your hospital's identifier. Each hospital's data is logically isolated by a hospital_id column with Row-Level Security (RLS) policies enforced at the database level.

5b. Facial Biometric Descriptor

If a patient's face is enrolled for return visit recognition, a 128-dimensional numerical face descriptor is generated and stored in the Supabase database, linked to the patient record. The source photograph is never stored. Full technical details are in Section 2.

5c. ID Card Images (for OCR)

Card images are transmitted to the Groq API for text extraction. They are not stored by zonov.ai or its backend. See Section 6 for Groq's data handling terms.

5d. Voice Recordings (for Voice Fill)

Audio is captured only while Voice Fill is active, sent to Groq Whisper for transcription, and immediately discarded. Not stored by zonov.ai. See Section 3 for full details.

5e. Staff Authentication Data

Staff log in with email and password via Supabase Authentication. Passwords are hashed and managed entirely by Supabase – the Extension never stores passwords. Only the encrypted JWT session token is stored in chrome.storage.local on the staff device.

5f. Form Field Label Memory

The Extension learns which HIMS page input labels correspond to patient data fields to improve autofill accuracy. These label mappings are stored locally in chrome.storage.local and contain only HTML label strings – no patient data. They are cleared when the Extension is uninstalled.

5g. Hospital UHID / Registration Numbers

After a patient is successfully registered in HIMS, staff may save the hospital-assigned Unique Health ID (UHID / Reg No) to link it to the patient's Supabase record.

6. Third-Party APIs and Services

6a. Groq (api.groq.com)

Purpose: AI language model inference for ID Card OCR and Voice Transcription.

Data transmitted: Card image (JPEG/PNG) and/or audio file (WebM/Opus). No patient name, ID numbers, or database records are sent to Groq.

Routing: Requests pass through extension-backend.zonov.ai (a secure backend proxy). The proxy adds the Groq API key server-side – the key is never exposed in the Extension code.

Refer to Groq's Privacy Policy for their data handling commitments.

6b. Supabase (supabase.com)

Purpose: Cloud PostgreSQL database and authentication service. Stores patient identity records, face biometric descriptors, and manages staff authentication.

Data isolation: Row-Level Security (RLS) policies ensure each hospital can only access its own patients.

Refer to Supabase's Privacy Policy for their infrastructure commitments.

6c. zonov.ai Backend Proxy (extension-backend.zonov.ai)

A secure intermediary server that forwards ID card images and voice audio to Groq API server-side. Does not log request content, does not store images or audio files, and does not share data with any other service.

6d. No Other Third Parties

The Extension does not use or transmit data to any advertising network, analytics service, social media platform, data broker, or government service.

7. Data Retention Policy

Data TypeRetention PeriodWho Controls Deletion
Patient identity records (name, Aadhaar, address, etc.)Until deleted by hospital administrator via dashboard or APIHospital administrator
Face biometric descriptorsUntil deleted by hospital administrator; or upon patient's deletion requestHospital administrator / Patient (via hospital)
Hospital UHID mappingsUntil patient record is deletedHospital administrator
Staff session tokensUntil session expires or staff logs out; cleared on Extension uninstallStaff member / Auto-expiry
Form label memory (local)Until Extension is uninstalledStaff member (device-level)
Face descriptor cache (local)Refreshed on each use; cleared on Extension uninstallAuto-managed by Extension
ID card imagesNever stored. Discarded immediately after OCR API responseN/A – not retained
Voice audio recordingsNever stored. Discarded immediately after Whisper transcript is returnedN/A – not retained
Voice transcriptsNever stored. Used only to fill form fields, then discardedN/A – not retained

7a. Patient Data Deletion Requests

Hospitals can delete individual patient records and their associated face descriptors at any time via the zonov.ai dashboard or by contacting support. Upon deletion, the record is permanently removed from the Supabase database and cannot be recovered.

7b. Extension Uninstall

When the Extension is removed from Chrome, all data stored in chrome.storage.local is automatically deleted by Chrome. Patient records stored in Supabase are not affected – they remain until deleted by the hospital administrator.

8. Permissions Justification

PermissionWhy It Is Required
storageStores staff session token, per-site form field label memory, patient record cache for offline fallback, and face descriptor cache for faster matching. All stored locally on the device.
scriptingRequired as a reliable fallback to re-inject the form-fill content script if it becomes unavailable on a HIMS page. Hospital HIMS systems vary in URL structure and cannot all be pre-declared at install time.
offscreenChrome MV3 prohibits service workers from accessing the Web Audio API or running TensorFlow.js inference. An Offscreen Document is required to capture microphone audio and run face-api.js model inference.
activeTabAllows the Extension to capture a screenshot of the currently active tab for Aadhaar card scanning. Access is granted only when the staff member explicitly clicks the scan button.
Content Script: <all_urls>Hospital HIMS systems run on private/internal servers at unpredictable URLs. The content script must be available on any URL to respond to user-initiated form-fill actions. The script is completely dormant by default – it only activates when the staff member explicitly triggers a feature from the Extension popup.
Host: *.supabase.coRequired to read and write patient records, face descriptors, and staff authentication tokens.
Host: api.groq.comRequired to send ID card images for OCR and voice audio for speech-to-text transcription.
Host: extension-backend.zonov.aiRequired to communicate with the secure backend proxy server that handles Groq API requests server-side.
Host: zonov.ai, *.zonov.ai, zonovai.vercel.appRequired to serve extension resource files and allow content script communication on the zonov.ai web portal pages.

9. Security Measures

All network communication with Supabase, Groq, and the backend proxy uses HTTPS/TLS encryption. No data is transmitted over unencrypted HTTP connections in production.

10. Data Subject Rights

Under India's Digital Personal Data Protection Act 2023 (DPDP Act) and GDPR (where applicable), patients whose data is processed have the following rights:

These rights should be exercised by contacting the hospital where the data was registered. Hospital administrators can fulfil deletion requests via the zonov.ai dashboard. For technical assistance, contact arvind@zonov.ai.

11. Consent and Legal Basis

The legal basis for processing patient data through this Extension is:

zonov.ai acts as a data processor on behalf of the hospital (the data controller). The hospital is responsible for ensuring patient consent and compliance with DPDP Act 2023 obligations.

12. Changes to This Policy

We may update this Privacy Policy as the Extension evolves. The "Last updated" date at the top reflects the most recent revision. Material changes will be communicated to hospital administrators via email. Continued use of the Extension after changes constitutes acceptance of the revised policy.

13. Contact

For privacy-related questions, data deletion requests, or compliance queries:


© 2026 zonov.ai  |  Privacy Policy v1.2  |  Chrome Extension v1.2.0