Security
Health data demands more than promises.
Passport handles clinical implant records and patients' Portuguese tax numbers (NIF). This page explains, without jargon, how that data is protected — because your clinic's and your patients' trust is built on verifiable facts.
This translation is provided for information only. The Portuguese version is the binding one; in case of any discrepancy, the Portuguese version prevails.
NIF encryption — unreadable even if leaked
Each patient's NIF is encrypted with AES-256-GCM before it reaches the database, and the encryption key lives only on the application server — never in the database. In practice: anyone who obtained a full copy of the database could not read a single NIF. Searches use a cryptographic fingerprint (HMAC), without ever decrypting.
Complete isolation between clinics
Each clinic sees only its own patients. This isolation is not an application rule that a programming error could get around — it is enforced by the database itself (PostgreSQL Row Level Security) and covered by automated tests that prove, in every release, that one clinic cannot read or write another's data.
Consent first, always
No passport is recorded without confirmation that the patient has given consent, and the date of that consent is stored with the record. The same applies to bulk imports: without a consent declaration, the platform validates the file but does not import it.
Full audit trail
Every operation on clinical data — creation, change, deletion — is recorded in an audit log: who, what, when. The record of an erasure under the GDPR keeps proof of the act without retaining any personal data of the data subject.
The patient in control
The passport PDF includes a QR code that opens a read-only verification page — the patient can check their implants at any time, without creating an account, and the page never shows the NIF. The clinic can revoke that link in one click. The right to be forgotten is carried out on the platform itself: deletion is permanent and cascading.
Active protection against abuse
NIF searches are limited to 30 attempts per minute per user, preventing tax numbers from being enumerated. Sessions are validated on the server on every request, and verification links use 256-bit random codes — impossible to guess.
Hosted in the European Union
Platform data is hosted on infrastructure in the European Union, with automatic backups. Artificial intelligence features are the exception, explained in section 7 of the Privacy Policy. The GDPR is not a footnote: the clinic acts as data controller and Passport as processor, under the data processing agreement included in the terms and conditions.
Found a vulnerability?
We welcome responsible disclosure. Write to us at seguranca@dentgrow.pt and we will respond with top priority.