Security

Security implementation details.


SSL

PLEASE USE SSL FOR ALL PRODUCTION DASHPRESS INSTALLATION

Encryption at Rest

All credentials provided in the application are encrypted at rest using aes-256-gcm with the CREDENTIALS_ENCRYPTION_KEY in your .env

CSRF

We store your auth tokens in localstorage, so CSRF is not possible

Password

All passwords are hashed using bcrypt.

SQL Injection

All queries are parameterized as we use KnexJS for our queries and nowhere do we use raw queries in DashPress.

Data Validation

All data validations are performed in the frontend as well as in the backend.

Only fields enabled to be updated/created will be updated/created.

Reading Data

Any disabled data will not be sent to the UI.

Any request associated with a disabled entity will result in a 404.

We don't do any SELECT * so only the fields you expose will be requested from the database.

Admin accounts are exempted from this 404 because sometimes they need to make requests to them like even to enable them.

XSS prevention

We use React and we don't dangerouslySetInnerHTML for anything.

Reporting

We welcome all vulnerability disclosures to security@dashpress.io and we prioritize all security fixes over all other kinds of work.

You will always be running the latest version of DashPress as long as you use npx dashpress to run the application.