Privacy Policy
What personal data WebInspect processes, why, who receives it, how long it is kept, and how you can control it. This policy describes how the service actually works today.
Last updated:
01Who we are
WebInspect (webinspect.dev) is operated by INSPIRING RESEARCH&INVENTIVE SOLUTIONS SRL, registration number J2023015414400 (Bucharest Trade Register), tax ID (CUI) RO48657227, with its registered office at Str. Radu Beller nr. 3-5, Sector 1, Bucharest, Romania (“we”, “us”). We are the controller of the personal data described in this policy, within the meaning of the EU General Data Protection Regulation (Regulation (EU) 2016/679, “GDPR”) and Romanian Law no. 190/2018.
For any question about this policy or your data, contact us at [email protected].
02Summary
- You can use the inspectors without an account. A free account raises your monthly inspection allowance.
- We never store raw IP addresses in our database — only a salted SHA-256 hash. Your IP is used briefly to look up an approximate location.
- Usage analytics (pages viewed, inspections run, browser, approximate location) are recorded only if you accept analytics cookies in the cookie banner. You can change your mind at any time via “Cookie settings” in the footer.
- When you use an AI feature, the relevant inspection data and your messages are sent to an AI provider and logged by us.
- Reports you publish can be seen by anyone who has the link, unless you make them private or password-protected. You can delete them yourself.
- Data is deleted automatically after fixed periods (section 8). Logged-in users can download their data or delete their account themselves on the Account settings page.
- We do not sell personal data and do not use advertising cookies.
03Data we collect
3.1 Account data
If you create an account we store:
- your email address (stored in lowercase);
- a password hash — your password is processed with the scrypt key-derivation function and a random per-user salt. We never store or log the plain-text password;
- the date your account was created and the date of your last login;
- a salted hash of the IP address used at sign-up, so we can limit how many accounts can be created from one network within 24 hours.
3.2 Login sessions
When you log in we set a wi_user cookie containing a long random token. Our database stores only a SHA-256 hash of that token, your user ID, and the session’s creation and expiry time. Logging out deletes the session immediately; expired sessions are deleted automatically.
3.3 Visitor analytics (only with your consent)
If you accept analytics cookies in the cookie banner, then while you browse WebInspect (except the operator’s admin area) your browser sends a small analytics request for each page view. If you reject them, or have not decided yet, no analytics request is sent, no analytics cookie is set and nothing in this section is recorded. Linked to a random visitor ID and session ID (see Cookies, section 5), we record:
- the page URL and title, the referring page, and any UTM campaign parameters in the URL;
- page timing measurements (load time, time to first byte, DOM interactive);
- the full user-agent string and what we derive from it — browser and version, operating system and version, device type (desktop / tablet / mobile / bot);
- your preferred browser language (the first entry of the Accept-Language header);
- a salted SHA-256 hash of your IP address and, derived from the IP at the time of the request, an approximate location (country, region, city, approximate latitude/longitude), the network operator (ASN / ISP), and heuristic flags indicating whether the address appears to belong to a VPN, proxy, Tor exit node or data centre;
- visit timestamps, number of visits, session duration, entry and exit page, and counts of pages and events;
- events such as inspections you run (inspector type, the target you entered, success or error, and duration).
Your raw IP address is not written to our database. To work out the approximate location we send it to an IP geolocation service (see section 6) at the time of the request. We also compare it against the public Tor exit-node list, which we download — your IP is not sent to the Tor Project.
3.4 Inspections and usage limits
To run an inspection, the target you enter (a URL, hostname, IP address or API endpoint, plus any request method, headers, body or credentials you add in the API Inspector) is sent to our servers, which then make requests to that target. Inspection results are returned to your browser; we do not keep a copy of them unless you publish a report (3.5) or use an AI feature (3.6). Request credentials you add in the API Inspector are used only to make that request and are not stored.
To enforce the free inspection allowance, we keep a usage ledger with one entry per inspection: the tool used, the time, and either your account ID (if logged in) or the salted hash of your IP address plus, if you accepted analytics cookies, your random visitor ID (if not). The ledger does not contain the target you inspected.
3.5 Published reports
When you choose to publish a report we store a snapshot of the inspection result, the target, scores, your chosen visibility (public, private or password-protected), display settings, the expiry you chose, a scrypt hash of the report password (if any), the number of views, and when it was last viewed. API reports are published with credentials redacted. If you are logged in when you publish, the report is linked to your account ID so you can find and delete it under Account settings and so it is erased with your account; otherwise it is not linked to you. Every report also gets a random manage token: we store only its hash, and your browser keeps the token (local storage, wi_report_manage_tokens) so you can delete the report later from the same browser without an account.
When someone opens, downloads or shares a published report we record a salted hash of their IP address, their country, the referring page, their device type and browser.
3.6 AI features
If you use an AI feature (explanations, fix suggestions, recommendations or chat), we send the relevant part of the inspection result (for example scores, detected issues, response headers, TLS or DNS data, and the target URL) and any message you type to the AI provider described in section 6. We log each AI request: your visitor and session IDs, the salted IP hash, your country, the target website, the feature and model used, token counts, estimated cost, timing and status, and a detailed record containing the full prompt sent (including the inspection data and your messages) and the AI’s response. The visitor ID and session ID are present only if you accepted analytics cookies. Do not paste secrets or personal data into the chat, and avoid putting API keys in URLs you ask the AI about.
3.7 Security and abuse prevention
To protect the service we keep short-lived, in-memory counters keyed by the hashed IP address (and, for login attempts, by email address). These counters are not written to the database and disappear within minutes or when the server restarts.
3.8 Data stored only in your browser
Your theme preference is kept in your browser’s local storage (wi-theme), a flag that the home-page intro animation has played is kept in session storage (wi_entrance_played), and the manage tokens of reports you published are kept in local storage (wi_report_manage_tokens). These stay on your device; a manage token is sent to us only when you ask to delete that report.
3.9 Contacting us
If you email us — including a notice about a published report through “Report this content” — we process your email address, your name if you give it, and the content of your message to reply and to handle the notice. When we act on a notice we may tell the publisher that a notice was received, but not who sent it, unless the law requires otherwise.
04Purposes and lawful bases
| Purpose | Data | Lawful basis (GDPR) |
|---|---|---|
| Creating and running your account, logging you in, applying your monthly allowance | Account data, login sessions, usage ledger | Performance of a contract — Art. 6(1)(b) |
| Running the inspections, AI features and reports you request | Targets and request details, inspection data, AI prompts and responses, report data | Performance of a contract — Art. 6(1)(b) |
| Moderating published reports and handling notices about illegal content (EU Digital Services Act) | Report data, notices you send us | Legal obligation — Art. 6(1)(c), and legitimate interests — Art. 6(1)(f) |
| Enforcing free-usage limits for visitors without an account, preventing abuse, fraud and attacks (rate limits, sign-up limits, AI usage caps) | IP hash, visitor ID (only if you opted in to analytics), usage ledger, AI request log, in-memory counters | Legitimate interests — Art. 6(1)(f): keeping a free service available and secure |
| Visitor analytics: understanding how the service is used, measuring page performance and improving it (analytics cookies wi_vid and wi_sid) | Visitor analytics (section 3.3) | Consent — Art. 6(1)(a) and Art. 5(3) of the ePrivacy Directive (Romanian Law no. 506/2004), given in the cookie banner and withdrawable at any time |
| Counting report views, measuring AI usage and controlling AI costs | Report view events, AI request telemetry | Legitimate interests — Art. 6(1)(f): operating the service and keeping a free service affordable |
| Answering your messages and requests | Email address, message content | Legitimate interests — Art. 6(1)(f), or contract where the request concerns your account |
| Complying with legal obligations and responding to lawful requests from authorities | Any relevant data | Legal obligation — Art. 6(1)(c) |
Where we rely on legitimate interests you have the right to object at any time (section 9). Where we rely on consent (analytics) you can withdraw it at any time via “Cookie settings” in the footer, which is as easy as giving it; this does not affect processing before the withdrawal. We do not make decisions about you based solely on automated processing that produce legal or similarly significant effects. Automatic checks only stop further free inspections or AI requests when a usage limit is reached.
06Processors and other recipients
We share personal data only as needed to run the service:
- Hosting and infrastructure: [Hosting provider name and data-centre location] hosts our servers and database. [CDN / reverse-proxy provider, e.g. Cloudflare, Inc. — confirm] may sit in front of the site as a CDN and reverse proxy and processes request data, including IP addresses, as it passes through.
- AI provider: AI features are provided through OpenRouter, Inc. (United States), an AI model gateway, which forwards prompts to the developer of the AI model selected by the operator (for example providers of large language models based in the United States). The operator may change the provider or model. These parties receive the AI prompt content described in section 3.6, but not your email address.
- IP geolocation: ipwho.is (IP geolocation API) receives visitors’ IP addresses so we can derive an approximate location and network operator. It is also used to locate the IP addresses of inspection targets.
- Fonts: Google Fonts (Google LLC / Google Ireland Ltd.), as described in section 5.
- Home-page video: Pexels (and its CDN provider), which receives your IP address and user-agent when the background video loads, as described in section 5.
- Inspection targets and lookup services: to inspect a target our servers contact that target directly and may query public lookup services about the target (DNS-over-HTTPS resolvers such as Cloudflare, Quad9 and AdGuard, the crt.sh certificate-transparency database, HackerTarget ASN lookups and the RIPE RPKI validator). These receive the target you entered and the request details you configured — not your IP address or account details.
- People you share reports with: a public report can be viewed by anyone who has its link, and may appear in search engines unless you or the operator turn indexing off. Password-protected reports require the password; private reports are not viewable through the public link.
- Authorities and advisers: where required by law or to establish, exercise or defend legal claims.
The promotional banner and the “Built with Biela” link in the footer are plain links to biela.dev. No data is sent to biela.dev unless you click them.
07International transfers
Some recipients are located, or process data, outside the European Economic Area — in particular the AI gateway and AI model developers (United States), and possibly the IP geolocation, font and CDN providers.
Where personal data is transferred outside the EEA, we rely on a European Commission adequacy decision (including the EU–U.S. Data Privacy Framework where the recipient is certified) or on the Commission’s Standard Contractual Clauses, together with any supplementary measures needed. You can ask us for more information about these safeguards at [email protected].
08How long we keep data
Deletion is automatic: a clean-up job runs at least once an hour and removes or minimises data once its period below has passed. You can also ask us to delete data earlier (section 9).
| Data | Retention |
|---|---|
| Account (email, password hash, sign-up IP hash, dates) | Until you delete your account. You can do this yourself on the Account settings page (password confirmation required), or ask us by email. Deletion is immediate and also removes your login sessions, the reports published from your account and your usage-ledger entries. |
| Login sessions | 30 days from login. Logging out deletes the session at once; expired sessions are deleted automatically. |
| Visitor analytics (visitors, sessions, page views, events, inspection log) — only collected with consent | 13 months. Sessions, page views, events and logged inspections are deleted 13 months after they were recorded; a visitor profile is deleted after 13 months without a visit. Withdrawing consent stops new collection immediately. |
| Inspection usage ledger | Account entries: 12 months (the monthly allowance only needs the current month). Entries of visitors without an account: kept while needed to enforce the free allowance, which is a lifetime limit. They hold no URL or target — only the tool used, the time, the salted IP hash and, if you accepted analytics cookies, the random visitor ID — and after 12 months the time is reduced to the month. |
| AI request logs (full prompts and responses) | 90 days, then deleted. |
| AI request telemetry (feature, model, tokens, cost, timing, status) | After 90 days the IP hash, session ID, country, target website and error details are removed; the rest (including the random visitor ID, used for the per-visitor AI limit) is deleted after 13 months. Daily usage and cost totals are deleted after 13 months. |
| Published reports | Until the expiry you choose when publishing (1 hour, 24 hours, 7 days, 30 days or never; the operator may set a default and a maximum), or until you delete the report yourself. An expired report can no longer be opened, and all its stored data (snapshot, settings, view events) is permanently deleted 30 days after expiry. Reports set to never expire stay until you, or we, delete them. |
| Report view, download and share events | Until the report is deleted, and at most 13 months. |
| In-memory rate-limit counters | A few minutes; lost on server restart. |
| Notices about content and emails you send us | As long as needed to handle your request and any follow-up, including any legal claims. |
We may keep data longer only where the law requires it or where it is needed to establish, exercise or defend legal claims (for example evidence of abuse of the Service), and only for as long as that applies.
09Your rights
Under the GDPR you have the right to:
- access your personal data and receive a copy;
- rectification of inaccurate data;
- erasure (“right to be forgotten”);
- restriction of processing;
- data portability — receiving data you gave us in a machine-readable format;
- object to processing based on legitimate interests, including analytics;
- withdraw consent at any time, where processing is based on consent, without affecting processing carried out before withdrawal;
- lodge a complaint with a supervisory authority (see below).
Self-service
- Download my data (access and portability): logged-in users can download a JSON file with their email, account dates, login sessions, inspection usage and the reports published from the account, on the Account settings page.
- Delete account (erasure): on the same page, confirm with your password to delete your account immediately, together with your login sessions, the reports published from it and your usage history. This also logs you out.
- Delete a report: open the report and use Delete — available when you are logged in to the account that published it, or in the browser you published it from.
- Withdraw analytics consent: “Cookie settings” in the footer, at any time.
Other requests
- Email [email protected] from the address registered to your account, if you have one.
- For analytics and other data linked to a visitor ID rather than an email, include the value of your
wi_vidcookie (visible in your browser’s developer tools) so we can find your records. For a published report you can no longer delete yourself (for example from another browser), include its link. - We reply within one month. This can be extended by two further months for complex requests; we will tell you if so. We may ask for information to confirm your identity.
Supervisory authority
You may complain to the Romanian data protection authority — Autoritatea Națională de Supraveghere a Prelucrării Datelor cu Caracter Personal (ANSPDCP), B-dul G-ral. Gheorghe Magheru 28–30, Sector 1, Bucharest, Romania, www.dataprotection.ro — or with the authority in the EU country where you live or work. We would appreciate the chance to address your concern first.
10Security
Measures built into WebInspect include:
- passwords hashed with scrypt and a per-user salt, verified in constant time;
- login session tokens stored only as hashes, in HttpOnly cookies marked Secure over HTTPS;
- IP addresses stored only as salted SHA-256 hashes;
- AI provider credentials encrypted at rest (AES-256-GCM);
- protection against requests to private or internal networks, rate limits and sign-up limits;
- an administrator area protected by signed, time-limited sessions.
No system is completely secure. If we become aware of a personal data breach that is likely to put your rights at risk, we will notify the ANSPDCP and, where required, you.
11Children
WebInspect is not intended for children under 16, and you must not create an account if you are under 16. If you believe a child has given us personal data, contact us and we will delete it.
12Changes to this policy
We may update this policy when the service or the law changes. The “Last updated” date at the top shows the current version. For significant changes we will give reasonable notice on the site before they apply.
13Contact
INSPIRING RESEARCH&INVENTIVE SOLUTIONS SRL, Str. Radu Beller nr. 3-5, Sector 1, Bucharest, Romania. Registration number J2023015414400 (Bucharest Trade Register), tax ID (CUI) RO48657227. Email: [email protected].