In-house service
FileRisk, file malware scanning API
A scanning service that takes any file over an API, returns a verdict with its reasons, and deletes the file as soon as the scan is done. Web uploads, file storage, email attachments, and business systems all connect with a single API call.

Why we built it
Any service that handles files needs to know whether uploaded files are safe. Commercial scanning engines are expensive, and handing files to an external scanning service means nobody knows where customers’ files end up. A scanning service must not become one more risk.
So we built a scanning API designed never to retain files. Website uploads, file storage, email attachments, workstations, document ingestion pipelines, and business systems connect wherever a file can be sent over an API. The same API scans files in BITBOX CLOUD.
What you can do
Three-step integration
Request a scan to get an upload address, upload the file there, and receive the verdict. If the file already sits in storage, pass a signed URL and FileRisk fetches it directly. When the same file keeps coming back, send only its SHA-256 hash for a verdict without uploading. Results are read through a query API or delivered by signed webhook.
Six verdicts with reasons
Clean, malicious, suspicious, unscannable, error, and format verified. Every verdict comes with a list of reasons showing which engine saw what, plus engine and signature versions, so you can record and explain results as they are. A timeout or engine problem is reported as an error, never as clean, and files whose contents cannot be examined, such as encrypted archives, are marked unscannable.
Several layers of checks
- Malware signatures. Known malware is detected and signatures update automatically.
- Detection rules find web shells and malicious scripts, and matched rules are recorded as reasons.
- Format spoofing detection finds files whose extension does not match their real format, double extensions, code hidden inside images, and SVGs containing scripts.
- Archive structure checks extract zip, gzip, bzip2, xz, and tar in-house to catch archive bombs and deep nesting.
- Large media format verification checks only the needed ranges of video and audio originals over 100MB to confirm the structure matches the format.
- Hash cache. Files already scanned get a verdict without uploading.
Scanning you can trust
- No files are retained. They are deleted as soon as the scan ends, leaving only the verdict and its reasons. There is no way to export a detected file.
- File bodies never pass through the API server. They go directly to the scan server.
- Errors are never reported as clean. Files that could not be examined are marked unscannable or error.
- Before launch we checked false positives and scan time against hundreds of thousands of clean files.
Get started
Integrate on the free plan right away and move up as your scan volume grows. API documentation and the OpenAPI specification are public.
Results
3 steps
Request a scan, send the file, receive the verdict. Results by polling or signed webhook
6 verdicts
Clean, malicious, suspicious, unscannable, error, format verified. With a reason list and engine and signature versions
0
Files kept after a scan. Only the verdict and its reasons are stored, and there is no way to export a detected file
Seconds
Time to a verdict for most files. Files already scanned are judged instantly by hash alone
What a result means
BeforeA single "clean". Timeouts and errors blend into clean
AfterSix verdicts with a reason list. Files that could not be examined are clearly marked unscannable or error
Where customer files go
BeforeHand files to an external scanning service and nobody knows where they end up
AfterFiles go only to the scan server and are deleted immediately after
Files already in storage
BeforeMust be downloaded and re-uploaded to scan
AfterPass a signed URL and it is fetched directly. Known files are judged by hash alone
Archives
BeforeExtraction hangs or an archive bomb takes the scanner down
AfterExtracted in-house to catch archive bombs and deep nesting, with encrypted archives marked unscannable
Screens

Several layers of checks, from signatures and detection rules to format spoofing, archive structure, large media, and the hash cache 
Three-step REST integration and six verdicts
