# Qscan

QScan is Qpoint's PII detection service for HTTP traffic captured by Qtap. It uses machine learning models to automatically identify sensitive data -- such as names, email addresses, credit card numbers, and social security numbers -- flowing through your APIs.

### How It Works

QScan operates as an asynchronous scanning pipeline:

1. **Qtap** captures HTTP request and response payloads and stores them as artifacts in S3-compatible object storage
2. **Pulse** schedules scan jobs for new artifacts
3. **QScan** polls Pulse for pending jobs, pulls artifacts from S3, scans them using ML models, and reports results back to Pulse
4. **Pulse** surfaces PII findings in your dashboards

{% hint style="info" %}
QScan must have network access to both your S3 storage endpoint and the Pulse API. It does not need to run alongside Qtap -- it can be deployed anywhere with the required connectivity.
{% endhint %}

### Detection Models

QScan combines multiple detection engines for comprehensive coverage:

* **Piiranha** -- transformer-based NER model optimized for PII detection
* **Presidio** -- Microsoft's rule-based and ML-powered PII analyzer
* **Flair NER** -- sequence labeling model for named entity recognition

Results from all models are merged and deduplicated to minimize false negatives.

### Key Features

* **Multi-model detection**: Three complementary engines for high recall across PII types
* **GPU acceleration**: Optional NVIDIA GPU support for faster inference
* **Horizontal scaling**: Deploy multiple instances with configurable poller and scanner counts
* **Prometheus metrics**: Built-in metrics endpoint for monitoring scan throughput and health
* **S3-compatible storage**: Works with AWS S3, Google Cloud Storage, MinIO, and any S3-compatible endpoint
* **Automatic credential handling**: When using Qpoint's managed storage, the registration token is used for S3 authentication automatically


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.qpoint.io/getting-started/qscan.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
