# Security pg_phasevec runs SQL it did not write (a watch's recipe, a claim's proof) and decides who may change a claim, so a way around either is the most valuable report this project can receive. ## Reporting a vulnerability **Do not open a public issue.** Report it privately, by either: * GitHub's private vulnerability reporting: the **Security** tab of this repository, then **Report a vulnerability**; or * email to **manuelreyesbravo@gmail.com**, subject starting with `[pg_phasevec security]`. Please include the PostgreSQL version, the pg_phasevec version (`SELECT extversion FROM pg_extension WHERE extname = 'pg_phasevec'`), and the smallest sequence of statements that shows it. A script in the style of `test/review30.sh` (roles, a watch, the attack, and a check of what changed) is ideal, because it becomes the regression test. You will get an acknowledgement within 72 hours. A confirmed issue is fixed before it is disclosed, gets a regression case in `test/`, and is credited to you in the CHANGELOG unless you prefer otherwise. ## What counts Anything that lets a role that is not trusted (see "Status: what this preview is" in the README): * change, retire or replace a claim it may not change, or take one it may not take; * make a verdict say what its proof does not, or a proof run with rights or settings that are not its author's; * read through phasevec a row, a claim, a topic or a support that its privileges or row-level security hide from it; * get a reading of text that is no longer the row's served as `fresh`, or two readers' codes compared; * make the update, a restore or `migrate()` lose or alter data. What the README lists under "Known limits" is known; a clearer way to explain it is welcome too. ## Supported versions The latest release. Fixes are not backported while the project is pre-1.0.