Data handling / Product notice

Privacy Policy

How Discover Profile currently processes research queries, browser identifiers, account data, request metadata, and third-party service calls.

Last updated: September 1, 2026

Search terms can identify or relate to a person. Submit only a username or email address that you are authorized to investigate. Do not enter passwords, authentication codes, private messages, payment data, or unrelated sensitive information.

01. Scope and evidence

This notice applies to discoverprofile.tools and the browser-based username and email workflows provided through it (the “Service”). “Discover Profile,” “we,” “us,” and “our” refer to the operator of the Service.

It also covers optional Google account connection, browser- or account-linked search history, blog interactions, analytics loaded by the shared page layout, and communications sent to our support address. Statements about storage and data flow are based on the current application configuration and code paths. Provider dashboards, production infrastructure, backups, and external-service retention that are not represented in this application are identified as unknown rather than estimated.

02. Processing at a glance

ActivityData involvedDestinationApplication storage
Visit a pageVisitor IP, request headers, path, browser and device signalsWeb infrastructure, Cloudflare where present, Google Analytics, and loaded asset hostsFirst-party browser identifier; infrastructure and analytics retention are not set here
Username searchUsername, one category per request, and returned public account signalsOur origin in standard mode; the configured scan API in both modesStandard mode can store a user record, task metadata, and positive matches. Privacy Mode does not create a task or history record.
Email searchEmail address, one category per request, and returned account-context signalsOur origin in standard mode; the configured scan API in both modesStandard mode can store a user record, task metadata, and positive matches. Privacy Mode does not create a task or history record.
Display result iconsOrigin from a valid returned site URLGoogle Favicon service, requested directly by the browserNot stored as a separate application record; requested only when the result URL is rendered
Connect GoogleGoogle subject ID, name, email address, and profile-image URLGoogle OAuth and our user tableStored with the user record; Google passwords are not received
Submit the contact formOptional name, reply email, category, and messageOur origin and contact-request database tableStored with a reference number, review status, and timestamps

03. Research query flows

Username workflow

In standard mode, the browser first sends a validated username to our origin to create a search-history task. It may then run up to four of the 17 configured category lanes concurrently against the scan API, covering 2,518 configured public-site checks; pages within each category are requested sequentially. The interface displays every returned site row, updates per-category site, found, error, and page totals, and can normalize positive matches for storage with the task.

Email workflow

In standard mode, the browser validates an email address, creates a first-party task, and sends the address with one of 20 configured categories at a time to the scan API, covering 168 configured account services. The interface displays every returned site row. Positive registered signals, including site, URL, category, status, reason, extra context, and the queried address, can be saved to the task. Because many services are checked through account-recovery behavior, a positive signal may not reveal a username, account ID, or profile URL.

Privacy Mode

Privacy Mode is off by default and applies only to the scan started while the switch is enabled. In that mode, the browser skips the first-party task creation, result-save, and task-completion requests, so the query and returned matches are not written to application search history. The username or email address, category, and required request metadata are still sent to the configured scan API, whose own processing and retention practices apply.

Where multiple scan API endpoints are configured, the browser independently selects an endpoint according to the configured weights for each /api/scan request. Concurrent categories and later pagination requests may therefore use different endpoints.

Current interface boundaries

The username and email pages do not send queries through the former Worker batch flow, indexed web-search panel, AI lead search, or AI summary flow. Their live progress and per-category site, found, error, page, and completion indicators are calculated in the browser from paginated /api/scan responses. Progress completes when no next page remains.

For a technical explanation of validation, status classification, pagination, progress, and evidence limits, read the Search Methodology.

04. Connection information

Cloudflare and the web server process the IP used to connect to the site. Where available, Cloudflare headers may provide country, city, region, timezone, approximate coordinates, and related connection fields. Starting a username or email task in standard mode stores the visitor IP in the history record. The associated user record can also store language, Cloudflare country, and a shortened Accept-Language value. Privacy Mode skips that task and history-record creation but does not prevent ordinary page or scan-service connection data from being processed.

When the contact form is submitted, the application combines the connection IP with the reply email to create a one-way rate-limit key that is cached for 60 seconds. The raw IP and rate-limit key are not written to the contact-request table by this form.

05. Cookies and browser storage

The Service assigns a pseudonymous first-party browser identifier named osinttools_user_id. It is configured for 315,360,000 seconds—approximately ten years—and is refreshed on requests. It links the browser to user and history records; clearing or logging out removes the browser copy but does not automatically delete database records.

StoragePurposeConfigured behavior
osinttools_user_idPseudonymous browser identifier for user and history lookupApproximately ten years, refreshed on requests
google_callback_referReturn location for optional Google OAuthOne hour
discover_profile_pending_searchTemporary handoff when rerunning a username or email taskRemoved when consumed or limited to the browser session
spiderfoot_pending_searchTemporary legacy compatibility keyRead only for migration and removed after use
Google Analytics stateAudience and session measurementControlled by Google and browser/provider settings

06. Accounts and search history

In standard mode, a database user is created when a browser starts its first valid username or email task. A history task stores the raw query, scan type, task identifier, completion state, normalized positive result records, simplified site names, visitor IP, and timestamps. Negative and error rows remain visible in the live response log but are not saved as positive matches. Live category totals, error-site counts, page summaries, and completion labels are not stored as separate history fields. Privacy Mode does not create this task or save its returned matches.

History is available to the current browser identifier; Google login is not required. Anyone with access to the same browser profile may therefore be able to view its username and email history.

If you connect Google, the OAuth request asks for openid, email, and profile. The returned subject identifier, name, email, and profile-image URL are stored with the user record. Your Google password is entered with Google, not Discover Profile.

Opening or liking a blog post sends the numeric article ID to the blog API to update aggregate counters. The current controller does not create a separate per-reader blog-action record, although normal cookies and request metadata accompany the request.

07. Services, analytics, and page assets

Cloudflare

May process site traffic and provide visitor-IP or location headers used by the application infrastructure.

Configured scan service and public sources

The scan API receives the submitted username or email address and the requested category needed to perform each selected check. Opening a result sends a new request directly from your browser to that external site.

Google

Provides Analytics, optional OAuth profile data, Google Fonts, and the favicon service used beside result-site names. When a returned result has a valid URL, the browser requests its icon from Google's favicon service using the site's origin. The image request is sent without a referrer, but Google still receives the requested origin and ordinary connection and browser information, including the visitor IP and user-agent headers. The current username and email result interface does not add Google search results or AI-generated summaries.

Browser resource hosts

Pages request Tailwind CSS, Font Awesome through cdnjs, jQuery through code.jquery.com, and Google Fonts. Those hosts receive ordinary request information such as IP address, user agent, and referrer data. No advertising-network script is present in the current shared layout.

Third parties apply their own terms, policies, and retention practices. This application does not establish where every provider processes data or how long it keeps a request.

08. Retention and security

Confirmed application expiries include one hour for the OAuth return cookie and the browser/session behavior listed above.

The repository does not confirm automatic expiry of user, history, or contact-request database rows, production web/CDN/application-log rotation, backup deletion schedules, Google Analytics property retention, scan-provider retention, or support-mailbox retention. An application cache entry expiring does not prove when a provider copy, log, or backup is physically erased.

The application validates input formats, restricts history lookups to the current browser/account identifier, and applies request-signing checks to selected endpoints. These are risk-reduction controls, not a guarantee that the Service or any provider is risk-free. Protect access to your browser profile, connected account, and any output you export or share.

09. Controls and requests

  • Use the history pages to review username and email tasks linked to the current browser identifier.
  • Clear this site's cookies or session storage through browser controls.
  • Logging out removes the site identifier cookie from that browser; it does not by itself erase stored records.
  • Manage Google authorization through Google. Revoking authorization does not automatically erase profile fields already stored here.
  • Use browser and provider settings to manage Google Analytics cookies where available.

The history pages provide self-service permanent deletion for individual search tasks. The user workspace also provides permanent account deletion, which removes the current application user record and all search-history rows linked to it. These actions cannot be reversed through the Service. They do not establish when infrastructure logs, provider records, or backups outside the active application database are erased.

Depending on applicable law, you may also have rights to request access, correction, deletion, restriction, or objection. We may need enough information to locate a record and verify that the requester is entitled to control it.

10. External sites, updates, and contact

Public availability does not make information accurate, harmless to combine, or free of legal and ethical limits. External websites receive your new browser request when you open a returned profile or research link, and their own privacy practices apply.

This notice may be updated when product data flows, storage, infrastructure, or providers change. The date at the top records the latest published revision.

For privacy questions, access or deletion requests, and corrections, email [email protected]. Do not send a password or authentication secret.