# Security policy pg_sift is C code that runs inside the PostgreSQL server and parses user-supplied documents and queries. A crash, memory error, wrong-result or index-corruption bug reachable from SQL is in scope, in particular anything that a crafted query string, a crafted document, concurrent DML, or recovery after a crash can trigger. Please report such problems privately with GitHub's "Report a vulnerability" button (Security tab of the repository) instead of opening a public issue, and include the PostgreSQL version, the `CREATE INDEX` statement and a reproduction if you have one. The two newest minor releases and the `main` branch receive fixes ([docs/SUPPORT.md](docs/SUPPORT.md)). The SQLite extension (`sift` for SQLite, in `sqlite/`) is C code that runs inside the process of the application that loads it and parses documents and queries the application supplies; the same classes of problem are in scope (a crash, memory error, data race, wrong result or index corruption reachable from SQL), reported the same way with the SQLite version, the `CREATE VIRTUAL TABLE` statement and a reproduction. Loading an extension is code execution by design, so only load the `sift` file from a source you trust (check it against the release's `SHA256SUMS`). The shadow tables (`_chunks`, `_segs`, `_meta`, `_config`) are written by the extension: a database whose shadow tables were edited by hand is not a supported input, though a crash on one is still welcome as a report.