CypherScan
Scans Payload upload collections for malware and secrets via the CypherScan API and blocks suspicious files before they persist.
Installation
pnpm add cypherscan-payload About
CypherScan intercepts files uploaded to Payload CMS upload collections and routes them through the CypherScan scanning service before they are stored. The plugin attaches a `beforeChange` hook to each targeted upload collection, so every incoming file is inspected rather than written straight to disk or your storage adapter. The scanning flow is presigned and stateless from Payload's side. On upload, the plugin asks the CypherScan API for a presigned S3 URL, PUTs the raw file into temporary object storage, triggers a scan, and reads back a verdict of `clean`, `suspicious`, `malicious`, or `unknown`. Files whose verdict matches the configured block list are rejected at the hook, so they never become available inside Payload. Clean files pass through unchanged. Configuration is minimal. You supply an `apiKey` and the CypherScan `apiUrl`, and can optionally restrict scanning to a subset of collections with the `collections` option, tune which verdicts block via `blockVerdicts` (suspicious and malicious by default), and choose a failure mode. `failOpen` (the default) lets uploads proceed if the scanning service is unreachable, which suits development; switching it off enforces fail-closed behavior for production where strict blocking is required. The plugin targets Payload 3 and logs each scan step (file name, type, size, presign status, verdict) through the standard Payload logger. It has been validated against clean uploads, the EICAR malware test string, and both fail-open and fail-closed API outages. Note that it depends on an external CypherScan API key and currently blocks in-line at upload time, so scan latency adds to the request duration for each upload.
Package info
- Package name
cypherscan-payload- Latest version
0.1.5- Unpacked size
- 18 kB
- License
- MIT
- Weekly downloads
- 160
- Last publish
- Jul 11, 2026
Similar plugins
More in MediaVideo streaming
Enables video uploads and streaming directly within Payload CMS.
Image Optimizer
This plugin optimizes image uploads for Payload CMS with advanced features.
Blurhash
Generates a base64 WebP placeholder for image uploads in Payload CMS.
Adaptive Bitrate Videos
This plugin automates adaptive bitrate processing for video uploads.
Media Preview
Preview images, videos, audio, and documents directly in the Payload CMS admin panel.
Decks
Adds reusable deck blocks with slide capabilities to Payload CMS.