Opux
App Quality Report
Powered by Testers.AI
B-80%
Quality Score
6
Pages
85
Issues
7.8
Avg Confidence
7.8
Avg Priority
27 Critical45 High13 Medium
Testers.AI
>_ Testers.AI AI Analysis

Opux was tested and 85 issues were detected across the site. The most critical finding was: Third-Party Error Tracking to Sentry Potential PII Exposure. Issues span Security, A11y, Performance, Other categories. Persona feedback rated Visual highest (7/10) and Accessibility lowest (6/10).

Qualitative Quality
Opux
Category Avg
Best in Category
Issue Count by Type
A11y
22
Content
18
UX
13
Security
2
Pages Tested · 6 screenshots
Detected Issues · 85 total
1
Third-Party Error Tracking to Sentry Potential PII Exposure
CRIT P9
Conf 9/10 Other
Prompt to Fix
Actionable prompt for AI coding assistant: In your Next.js project, locate the Sentry initialization (likely @sentry/nextjs). Implement beforeSend to scrub personal data from events (remove or redacted fields such as user emails, usernames, IDs, IP addresses). Ensure sendDefaultPii is false and IP anonymization is enabled. Add a consent check gate before enabling telemetry. If needed, switch to a privacy-preserving telemetry approach or self-host Sentry. Provide a patch that updates the Sentry config and adds tests to verify that envelope payloads contain no PII across common event types.
Why it's a bug
The application posts error telemetry to a Sentry ingestion endpoint (third-party domain). Depending on payload configuration, this can transmit error data that may include PII (user identifiers, session data, or other sensitive info) to an external service. Without explicit user consent or robust data scrubbing, this constitutes undisclosed third-party data sharing and potential privacy violation.
Why it might not be a bug
Sentry is commonly used for error telemetry, and with proper PII scrubbing and consent controls it can be privacy-compliant. The provided log does not show payload contents, so risk hinges on runtime data; if PII is never sent or is redacted, this may be acceptable. However, current evidence indicates a direct call to a third-party endpoint, which warrants scrutiny.
Suggested Fix
Audit and harden the Sentry integration: (1) enable and enforce PII redaction in before_send or similar middleware (redact emails, usernames, IDs, IPs); (2) disable or redact personally identifiable fields in events; (3) ensure IP addresses are not sent (set sendDefaultPii to false or enable IP anonymization); (4) implement a user consent flow for telemetry where required by policy; (5) consider using privacy-preserving telemetry or a self-hosted/enterprise Sentry setup; (6) add automated tests to verify that no PII is present in any envelope payload.
Why Fix
Minimizes exposure of user data to third parties, helps comply with privacy regulations (GDPR/CCPA), and preserves user trust by preventing inadvertent data sharing through error telemetry.
Route To
Privacy Engineer
Page
Tester
Pete · Privacy Networking Analyzer
Technical Evidence
Network: POST https://o4506071217143808.ingest.us.sentry.io/api/4506071220944896/envelope/?sentry_version=7&sentry_key=58ff8fddcbe1303f19bc19fbfed46f0f&sentry_client=sentry.javascript.nextjs%2F10.28.0
2
Sentry ingestion key exposed in URL query parameters
CRIT P9
Conf 9/10 SecurityOther
Prompt to Fix
Implement a server-side relay for Sentry error reporting. 1) Create a backend endpoint (e.g., POST /api/logs/sentry) that receives the error payload from the frontend. 2) From the backend, forward the payload to Sentry's ingestion endpoint using a server-side fetch/HTTP client, ensuring the API key is never exposed to the client or in browser logs. 3) Update the frontend to POST events to /api/logs/sentry (or configure a custom transport to point to the backend) instead of directly to Sentry. 4) If you must use DSN on the frontend, rotate keys and restrict origins, and migrate to the relay approach for improved confidentiality and control. 5) Implement proper CORS, rate limiting, and monitor for abuse.
Why it's a bug
The network log shows a POST to Sentry's ingestion endpoint with an API key included in the query string (sentry_key=58ff8fddcbe1303f19bc19fbfed46f0f). Exposing authentication tokens in URL query parameters can leak credentials via browser history, server logs, referer headers, or analytics, enabling token leakage and potential abuse.
Why it might not be a bug
Sentry public DSN keys are designed to be used from the client; the key is not a secret. However, including it in the URL query parameters still creates a risk surface by logging and referrer leakage. Best practices discourage secrets in URLs even if the key is public. The issue is actionable and should be mitigated to reduce attack surface.
Suggested Fix
Remove exposure of the Sentry key in the URL query by implementing a server-side relay for error reporting. One approach: create a backend API (e.g., /api/logs/sentry) that accepts error payloads from the frontend and forwards them to Sentry from the server. Update the frontend to POST events to the relay instead of directly to Sentry, or configure a custom transport that sends payloads to your backend. Rotate keys and restrict origins if a public DSN is still used on the frontend.
Why Fix
Eliminating credentials in URL query parameters reduces the risk of token leakage through logs, referer headers, and browser history. A backend relay also enables centralized monitoring, rate limiting, and safer key handling.
Route To
Frontend Security Engineer
Page
Tester
Sharon · Security Networking Analyzer
Technical Evidence
Network: POST https://o4506071217143808.ingest.us.sentry.io/api/4506071220944896/envelope/?sentry_version=7&sentry_key=58ff8fddcbe1303f19bc19fbfed46f0f&sentry_client=sentry.javascript.nextjs%2F10.28.0
3
On-page AI/LLM endpoints loaded on initial render (privacy/security risk)
CRIT P9
Conf 9/10 Other
Prompt to Fix
Audit all client-side network requests that hit AI endpoints on initial page load. Remove unconditional calls to AI services or wrap them behind a user-initiated action or server-side API. Add user-facing privacy disclosure and consent controls before any AI calls. Refactor to route all AI interactions through a secure backend with proper authentication and data minimization.
Why it's a bug
Console logs show repeated AI/LLM endpoint detections and network requests to AI-related resources during page load (e.g., AI endpoint detected markers and GET requests to gpt-engineer-file-uploads and other AI domains). This suggests client-side AI endpoints are invoked before user interaction, which could leak prompts, expose internal tooling, or violate user privacy/security expectations.
Why it might not be a bug
If the site intentionally uses client-side AI features, it may be by design; however, there is no user consent flow or clear justification visible in the screenshot, making this a high-risk behavior without explicit UX/information.
Suggested Fix
Move AI/LLM calls behind user interaction or server-side rendering. Remove or lazily load any client-side AI endpoints. Add a privacy notice or consent toggle before any external AI resource calls. Centralize AI calls through a secure backend API with proper authentication and scope down data sharing.
Why Fix
Protects user privacy, reduces potential data leakage, and aligns with common security/privacy best practices for GenAI-enabled apps.
Route To
Frontend Engineer / Privacy Engineer
Page
Tester
Jason · GenAI Code Analyzer
Technical Evidence
Console: ⚠️ AI/LLM ENDPOINT DETECTED
Network: GET https://lovable.dev/cdn-cgi/image/width=52,f=auto,fit=scale-down/https://storage.googleapis.com/gpt-engineer-file-uploads/nn22w70E2jWKGpHvftbNLhoEVpY2/linkedin-logo.png
+33
33 more issues detected  View all →
Excessive repeated srcset parsing warnings causing console s...
Missing Cache Headers on critical static assets
Excessive network requests and large JavaScript/CSS bundles
and 30 more...
Unlock All 85 Issues
You're viewing the top 3 issues for Opux.
Sign up at Testers.AI to access the full report with all 85 detected issues, detailed fixes, and continuous monitoring.
Sign Up at Testers.AI or let us run the tests for you