# Security Policy

## Supported Versions

Only the latest version released on crates.io is supported. Versions older than that are not supported.

## Reporting a Vulnerability

All feedback from security researchers is greatly appreciated! If you discover a vulnerability, you can use GitHub's private vulnerability reporting feature, to [report a new vulnerability](https://github.com/brycx/pasetors/security/advisories/new).

We aim to fix vulnerabilities within a 90-day window.

Thank you for your efforts in helping identify and fix vulnerabilities in `pasetors`!
