πŸ₯‡Features

Security Features

  • Authenticationarrow-up-right can be configured

    • on the client, either using HTTP Basic Authentication or specifying the credentials in the request;

    • on the server, either by specifying credentials (also with BCrypt hashed passwords) or providing a query to look them up in the db itself;

    • customizable Not Authorized error code (if 401 is not optimal)

  • A database can be opened in read-only modearrow-up-right (only queries will be allowed);

  • It's possible to enforce using only stored statementsarrow-up-right, to avoid some forms of SQL injection and receiving SQL from the client altogether;

  • CORS Allowed Originarrow-up-right can be configured and enforced;

  • It's possible to bindarrow-up-right to a network interface, to limit access.

Some design choices:

  • Very thin layer over SQLite/DuckDB. Errors and type translation, for example, are those provided by the respective driver;

  • Doesn't include HTTPS, as this can be done easily (and much more securely) with a reverse proxyarrow-up-right;

  • Doesn't support SQLite extensions, to improve portability; selected extensions for DuckDB are available.

Last updated