SecurityPractices
How RadPro AI protects patient information in your reports.
Radiology reports contain Protected Health Information (PHI). RadPro AI is designed with the requirements of these laws in mind:
This page describes the safeguards in the product today.
RadPro AI encrypts every connection to the site, and encrypts the stored text of every report.
The site and its API are served over HTTPS only, and browsers are told to keep using HTTPS on later visits (HSTS). This covers:
In every report, the text you submitted, any findings added to it, the result of each report step, the literature review and the identifier map are encrypted with AES-256-GCM before they are saved, whether or not identifiers were detected (detection can miss one). If encryption fails, the report is not saved.
The same encryption protects the secret behind two-step sign-in and the templates you save in My Templates. Passwords are never stored: only argon2id hashes of them are.
The encryption key is held as a server secret, separate from the database, and each stored value is encrypted with its own key derived from it. The server will not start in production without the key.
RadPro AI limits who can sign in and what each account can reach.
Two-step sign-in with an authenticator app is available on every account. With it on, each sign-in session must also enter a code from the app before it can open or process reports. Administrator accounts and paid plans must turn it on before they can open or process reports.
Users are assigned roles that determine their access permissions:
Access is granted on a principle of least privilege: users receive only the minimum access necessary for their role.
To protect against unauthorized access from unattended workstations, RadPro AI signs out idle sessions:
RadPro AI looks for patient identifiers in your text and replaces them before the text is sent for processing.
RadPro AI looks for the kinds of identifiers that appear in report text, such as names, dates, phone numbers, email addresses, medical record, health card and account numbers, addresses and postal codes, and other ID numbers. Detection is pattern based. It can miss an identifier or flag a word that is not one, which is why every detected item is shown to you for review.
Pattern matching with radiology-specific rules (eponyms, exam names and comparison dates are not treated as identifiers), run in your browser, with the same rules on the server.
When identifiers are detected, each one is highlighted in a color for its type and listed under "Detected PHI review", where you can dismiss it. This allows radiologists to:
The identifier map used to put your details back is stored with the report, encrypted under its own derived key, and is deleted when the report is deleted.
PHI Redaction is on by default for every account. You can switch it off in the input panel; the choice is saved to your account until you switch it back on. You can review and edit your text before processing.
When redaction is on, the identifiers that were found are replaced before processing, so the text sent for processing carries placeholders instead of those details. Automated detection assists your review. It does not replace it.
Before any report text is sent to a service that we have not confirmed is covered by a Business Associate Agreement (the web-search features and the prompt-injection check), our server scans the exact text that would be sent. If it finds an identifier, including one you dismissed as a false positive, the text is processed only on Amazon Web Services Bedrock and the web-search features do not run on that report.
RadPro AI keeps an audit log for security monitoring and incident investigation.
Each audit log entry includes:
Audit logs are retained for 6 years to comply with HIPAA's documentation retention requirements (45 CFR § 164.316). This ensures:
Authorized users (typically compliance officers or administrators) can export audit logs:
Each audit entry stores a hash that links it to the entry before it, so a later change to the chain can be detected. Entries are also copied to a separate storage archive outside the application database.
Repeated failed sign-ins from one address raise a security alert. Alerts are recorded in the audit log, and the more serious ones are emailed to administrators.
Administrators can search, filter and export the audit log (CSV or JSON) at /admin/audit.
RadPro AI has a written incident response procedure. Our breach notification commitments under PHIPA, PIPEDA, the HIPAA Breach Notification Rule and the GDPR are set out below.
Upon discovery of a suspected security incident or data breach, we will:
We classify incidents based on severity and data involved:
When RadPro AI handles personal health information as the agent of an Ontario health information custodian, we notify the custodian at the first reasonable opportunity if that information is stolen, lost, or used or disclosed without authority. The custodian notifies the patients affected and, where PHIPA requires, the Information and Privacy Commissioner of Ontario, and we help it do so.
For a breach of unsecured PHI we handle for a HIPAA covered entity under a Business Associate Agreement, we notify the covered entity as that agreement sets out, and never later than the 60 days after discovery that 45 CFR § 164.410 allows. The notice includes, as far as we know it:
The covered entity notifies affected individuals and the HHS Office for Civil Rights, and we help it do so.
For a breach of personal data we process on behalf of a customer (the "Controller") under the GDPR, we notify the Controller without undue delay after we become aware of it. Any other customer is notified as our Data Processing Agreement sets out. The notice gives the details the Controller needs for its own breach notification obligations.
Where RadPro AI is itself responsible for the information (for example, our users' account information):
Following any breach, RadPro AI commits to:
We take all security incidents seriously, even minor ones. Every incident is investigated, documented, and used as a learning opportunity to strengthen our security posture.
RadPro AI welcomes and encourages responsible disclosure of security vulnerabilities by the security research community.
If you discover a security vulnerability in RadPro AI, please report it to:
We commit to:
RadPro AI will not pursue legal action against security researchers who:
We consider the following activities to be good-faith security research:
The following are outside the scope of our responsible disclosure program:
We aim to remediate vulnerabilities according to severity:
We request that researchers allow us reasonable time to address vulnerabilities before public disclosure. We will coordinate with researchers on responsible public disclosure timing.
RadPro AI is built to align with major healthcare and data protection regulations. (Note: HHS does not certify HIPAA compliance for any vendor, so be wary of anyone claiming a "HIPAA certification".)
RadPro AI's infrastructure and operations are designed to align with the Health Insurance Portability and Accountability Act (HIPAA) requirements:
RadPro AI signs a Business Associate Agreement (BAA) with a HIPAA covered entity on request, on the Enterprise plan or by separate agreement. Our Data Processing Agreement is not a BAA by itself, and an account without a signed BAA has none.
Under Ontario's Personal Health Information Protection Act, RadPro AI acts as an agent and electronic service provider of the health information custodian only where the custodian has authorized use of RadPro AI. The custodian is the hospital or community health services centre operator, or, in private practice, the radiologist or radiology group, who gives that authorization by accepting our Terms of Service. RadPro AI uses personal health information only to provide the service, as the custodian permits, and never for its own purposes. Hospital radiologists need their hospital's approval before using RadPro AI with patient information. Patients make access and correction requests to the custodian, and RadPro AI helps the custodian answer them. RadPro AI notifies the custodian at the first reasonable opportunity if personal health information it handles for that custodian is stolen, lost, or used or disclosed without authority. A PHIPA agent agreement is available on request.
As a Canadian company, RadPro AI follows these principles of Canada's Personal Information Protection and Electronic Documents Act (PIPEDA):
For customers subject to the General Data Protection Regulation, RadPro AI provides:
Upon request, RadPro AI can provide:
The current subprocessor list, with each provider's role, data, location and agreement, is available on request. Customers with a signed Data Processing Agreement, Business Associate Agreement or PHIPA agent agreement are told of a new subprocessor before it starts processing personal information.
Contact our compliance team at admin@radpro.ai to request documentation or discuss specific compliance requirements.
HTTPS for every connection, and AES-256-GCM for the stored text of every report.
Identifiers in your text are found as you paste, highlighted by type, and replaced before processing. You review every item.
Idle sign-out after 24 hours or as little as 15 minutes, account lockout after repeated wrong passwords, an audit log of sign-ins and report actions, and a Business Associate Agreement or PHIPA agent agreement on request.
Sign-ins and report actions are recorded in a hash-linked log that administrators can export.
We take security seriously. Contact our security team with any questions or to report vulnerabilities:
This page describes the safeguards in RadPro AI today. If anything here is unclear, write to security@radpro.ai.