Skip to content

Security

How we handle financial data

This page describes practices that are implemented in the product. It deliberately avoids claims we cannot demonstrate.

Access enforced where the data lives

Permission checks run in the database and on the server, not in the interface. Hiding a button is never treated as a security measure.

One company, one boundary

Every customer, invoice, payment, message and document belongs to exactly one company. A request for another company's record is refused at the data layer.

Role-based authority

Owners, admins, managers, analysts and viewers have different powers. Actions with financial consequences require sufficient authority and, where configured, a second person's approval.

Payments verified on the server

A browser confirmation page is never accepted as proof of payment. Payment events are verified with the provider server-side and recorded once, so a repeated notification cannot create a duplicate payment.

Credentials kept out of the browser

Provider secrets and service credentials live in server-side secret storage. They are never included in the interface, in browser storage or in application logs.

An audit trail that is not casually editable

Financial, administrative, permission, approval and configuration actions are recorded with who acted, what changed, when, and from where. Ordinary users cannot alter or remove those records.

What we do not claim

  • We do not claim any security or compliance certification. If a certification is required for your procurement process, ask us directly and we will tell you our current position rather than imply one here.
  • We do not publish recovery rates, revenue figures or customer results. Any figures you see inside the product come from your own data.
  • We do not describe an integration as connected until the connection has actually been verified. Integrations show their real state, including error and disconnected states.
  • We do not let the assistant invent financial facts. Where the system does not know something, it says so instead of guessing.