Sensitive Data Exfiltration Grade Override
The platform automatically caps the maximum grade at D when a scan detects exfiltration of ultra-sensitive user data without disclosure, even if the AI assessment considers the risk acceptable. This page explains how the override works, what triggers it, and how it interacts with other grading rules.
Why This Override Exists
During security scans, the per-file analysis engine may correctly identify that a browser extension or repository silently transmits sensitive user data to external servers. However, in some cases the overall AI assessment can still evaluate the combined findings as "acceptable" risk, resulting in a grade of B or higher.
This is clearly inappropriate for software that silently exfiltrates data such as passwords or PIN numbers. The sensitive data exfiltration override ensures that when ultra-sensitive data exfiltration is detected, the grade is capped at D (High Risk) at minimum — regardless of what the AI assessment concludes.
This is a hard floor applied after the AI assessment, meaning the AI cannot downgrade the severity below this threshold.
What Triggers the Override
The override activates when the scan detects exfiltration of ultra-sensitive user data without disclosure. Detection uses two complementary methods:
-
AI field detection: The per-file AI analysis sets an
exfiltrates_sensitive_dataflag when it identifies that a file sends ultra-sensitive data to external servers without clear user disclosure. -
Text-based fallback: The engine scans finding descriptions, evidence, and impact text in data exfiltration, credential exposure, and privacy concern categories for keywords associated with ultra-sensitive data types. To avoid false positives, the text-based fallback requires:
- Keyword match: The text must contain an ultra-sensitive data keyword. Short tokens like
otp,ssn,pwd,cvv, andcvcare matched with word boundaries to prevent substring false positives (e.g., "otp" inside "cryptographic"). - Exfiltration intent: The text must also indicate explicit transmission or exfiltration intent (e.g., "send", "transmit", "exfiltrate", "upload", "external server", "third-party"). Generic disclosure language such as "without disclosure" or "without consent" does not independently trigger the override — a hardcoded or locally stored secret that mentions disclosure without any transmission verb will not be flagged. Hardcoded secrets without transmission intent do not trigger the override.
- No negation: If the text explicitly states that data is not sent/transmitted/exfiltrated (e.g., "does not send passwords", "no password exfiltration"), the finding is skipped.
This provides coverage even for scans performed before the AI field was introduced.
- Keyword match: The text must contain an ultra-sensitive data keyword. Short tokens like
If either method triggers, the override is applied.
Ultra-Sensitive Data Types
The following data types are considered ultra-sensitive and trigger the override:
| Category | Keywords |
|---|---|
| Passwords | password, passwd, pwd |
| PINs | pin number, pin code, passcode, pass code |
| Session & Auth Tokens | session token, session secret, access token, auth token, authentication token, bearer token, refresh token |
| Credit & Debit Cards | credit card, card number, cvv, cvc, pan number, debit card |
| Private & Secret Keys | private key, secret key, encryption key |
| Biometric Data | biometric data, fingerprint data, facial recognition data |
| MFA / 2FA Codes | 2fa code, mfa code, otp, one-time password, verification code |
| Government IDs | ssn, social security number, national id |
What Does NOT Trigger the Override
The override is deliberately conservative. The following data types do not trigger it, though they may still appear as individual findings in the report:
- Unique identifiers and device IDs
- Advertising IDs
- API keys (application-level, not user credentials)
- Email addresses and phone numbers
- Analytics and telemetry data
- Usage statistics
These types of data exfiltration are still flagged as potential issues in the findings, but they do not trigger the grade cap override. The override is reserved for data that, if exfiltrated, would cause immediate and severe harm to users.
Grade Capping Behavior
When the override triggers, the following adjustments are made:
| Component | Behavior |
|---|---|
| Risk Grade | Capped at D if the computed grade would have been A, B, or C. If the grade is already D or F, it is preserved. |
| Risk Score | Floored at 50.0 (the D threshold) if the score is below 50. Higher scores are preserved. |
| Executive Summary Assessment | Set to HIGH RISK if the assessment would have been better (Excellent, Acceptable, or Concerning). |
| Safe for Business Use | Set to false. |
| Detection Flag | sensitive_data_exfiltration_detected is set to true in the executive summary. |
| Description & Impact | Updated with messaging about sensitive data exfiltration and the associated risks. |
Preserving Worse Grades
The override only caps the best possible grade at D. It does not improve a grade that is already worse:
- If the normal scoring already produces a D, the grade stays D.
- If the normal scoring produces an F (e.g., due to a high risk score or many critical findings), the grade stays F.
- The override never makes a grade better — it only prevents it from being better than D.
Interaction with the Malicious Code Override
The platform has a separate malicious code grade override that forces the grade to F when intentionally malicious code is detected (backdoors, keyloggers, supply chain attacks, etc.).
When both overrides trigger simultaneously, the worse grade wins:
| Scenario | Malicious Override | Sensitive Data Exfil Override | Final Grade |
|---|---|---|---|
| Normal scan, no issues | No | No | A / B / C (normal) |
| Data exfil of unique IDs | No | No | Normal (still flagged as finding) |
| Sensitive data exfil (e.g., PINs) | No | Yes | D (capped) |
| Malicious code (e.g., backdoor) | Yes | No | F (malicious) |
| Both malicious + sensitive exfil | Yes | Yes | F (worst wins) |
| Sensitive data exfil + many criticals | No | Yes | F (score already produces F) |
| AI says Acceptable, sensitive exfil detected | No | Yes | D (AI cannot override) |
The malicious override (F) always takes precedence over the sensitive data exfil override (D) because F is the worse grade. Similarly, if the executive summary assessment is already MALICIOUS, CRITICAL, or BLOCKED, that assessment is preserved and the sensitive data override does not change it.
How to Interpret a D Grade from This Override
If your scan receives a D grade and the executive summary mentions sensitive data exfiltration, this means:
- The scan detected that the code transmits ultra-sensitive user data (such as passwords, PINs, session tokens, or credit card information) to external servers.
- This transmission occurs without clear user disclosure or consent.
- The AI assessment may have considered the overall risk acceptable, but the override ensured the grade reflects the severity of the sensitive data exfiltration.
Recommended Actions
- Do not deploy the software in production without a thorough security audit.
- Review the data exfiltration findings in the report to identify which files are transmitting sensitive data and where the data is being sent.
- Remove or intercept the data exfiltration code if deployment is necessary.
- Implement strict network monitoring to detect and block any unauthorized data transmission.
Troubleshooting
My scan got a D but I don't think it exfiltrates sensitive data
The text-based fallback detection scans finding descriptions for ultra-sensitive data keywords. If a finding in the data_exfiltration, credential_exposure, or privacy_concerns category mentions one of the ultra-sensitive data types in its description, evidence, or impact text and indicates transmission or exfiltration intent, the override will trigger.
- Review the findings in these categories to understand what was detected.
- The text-based fallback requires both a keyword match and exfiltration intent (e.g., "send", "transmit", "external server"). Hardcoded secrets without transmission intent and negated statements (e.g., "does not send passwords") do not trigger the override.
- If the finding is a false positive, the underlying finding itself should be addressed or contextualized.
A scan that exfiltrates unique IDs didn't get capped
This is expected behavior. Exfiltration of unique IDs, device IDs, analytics data, or telemetry does not trigger the override. These are still reported as findings, but they do not meet the threshold of ultra-sensitive data. Only data types like passwords, PINs, session tokens, and credit card information trigger the grade cap.
Related Features
- Understanding Risk Scores and Grades — How risk scores and grades are calculated, including the malicious code grade override
- View Security Reports — How to access and interpret your security analysis results
- Submit a Browser Extension — Submit a browser extension for security analysis