
Scan files for viruses
🤖/file/virusscan rejects millions of trojans, viruses, malware & other malicious threats before they reach your platform.
This <dfn>Robot</dfn> is built on top of [ClamAV](https://www.clamav.net/), the best open source antivirus engine available. We update its signatures on a daily basis.
By default, this Robot excludes all malicious files from further processing without any additional notification. This behavior can be changed by setting error_on_decline
to true
, which will stop Assemblies as soon as malicious files are found. Such Assemblies will then be marked with an error.
We allow the use of industry standard EICAR files for integration testing without needing to use potentially dangerous live virus samples.
Usage example
Scan uploaded files and throw an error if a malicious file is detected:
{
"steps": {
"scanned": {
"robot": "/file/virusscan",
"use": ":original",
"error_on_decline": true,
"error_msg": "At least one of the uploaded files is malicious and was declined"
}
}
}
Parameters
output_meta
Record<string, boolean> | boolean
Allows you to specify a set of metadata that is more expensive on CPU power to calculate, and thus is disabled by default to keep your Assemblies processing fast.
For images, you can add
"has_transparency": true
in this object to extract if the image contains transparent parts and"dominant_colors": true
to extract an array of hexadecimal color codes from the image.For videos, you can add the
"colorspace: true"
parameter to extract the colorspace of the output video.For audio, you can add
"mean_volume": true
to get a single value representing the mean average volume of the audio file.You can also set this to
false
to skip metadata extraction and speed up transcoding.result
boolean
(default:false
)Whether the results of this Step should be present in the Assembly Status JSON
queue
"batch"
Setting the queue to 'batch', manually downgrades the priority of jobs for this step to avoid consuming Priority job slots for jobs that don't need zero queue waiting times
force_accept
boolean
(default:false
)Force a Robot to accept a file type it would have ignored.
By default Robots ignore files they are not familiar with. 🤖/video/encode, for example, will happily ignore input images.
With the force_accept parameter set to true you can force Robots to accept all files thrown at them. This will typically lead to errors and should only be used for debugging or combatting edge cases.
use
string | Array<string> | Array<object> | object
Specifies which Step(s) to use as input.
- You can pick any names for Steps except
":original"
(reserved for user uploads handled by Transloadit) - You can provide several Steps as input with arrays:
{ "use": [ ":original", "encoded", "resized" ] }
Tip
That’s likely all you need to know about
use
, but you can view Advanced use cases.- You can pick any names for Steps except
error_on_decline
boolean
(default:false
)If this is set to
true
and one or more files are declined, the Assembly will be stopped and marked with an error.error_msg
string
(default:"One of your files was declined"
)The error message shown to your users (such as by Uppy) when a file is declined and
error_on_decline
is set totrue
.
Demos
Related blog posts
- Introducing our new virus scanning Robot for safer uploads
- Introducing four new Robots to enhance media processing
- Happy 2016 from Transloadit
- New pricing model for future Transloadit customers
- Tutorial: file filtering & virus scanning with Transloadit
- How to automate content moderation using Transloadit (NSFW)