Self-hosted first
Deploy the application, PostgreSQL, storage, and telemetry within your own operational boundary using Docker and Kamal.
Security and deployment
Ledger is a private, self-hosted Rails application with organization-scoped records, invitation-controlled access, production security defaults, and no requirement to hand provider credentials to a hosted third party.
Deploy the application, PostgreSQL, storage, and telemetry within your own operational boundary using Docker and Kamal.
Imports, source objects, normalized datasets, calculations, Cost Pools, memberships, and jobs carry organization ownership.
Current imports are file based. Ledger does not require standing AWS, Azure, or Google Cloud credentials to calculate costs.
Application controls
Bootstrap can create one initial owner. After that, registration is invitation controlled, tokens are stored as digests, sessions expire, and password reset links are time limited.
Production baseline
Production boot requires an allowed host, application URL, mail sender, database, and encrypted credentials. TLS, secure cookies, HSTS, CSP, and host authorization are enabled.
Billing data handling
Accepted objects record size, type, digest, and ownership. Conversion verifies the stored bytes before reading.
Logs and traces carry identifiers, counts, timing, and failure categories, not raw billing rows or credentials.
Self-hosted operators control storage and backups. Deleting evidence is treated as a financial retention decision.
Financial processing remains deterministic. Future AI assistance cannot replace calculation or mutate immutable results.
Simple production architecture
The first deployment keeps application and jobs together. Rails and workers can be split horizontally when workload demands it, without introducing Kubernetes-specific assumptions.
Read the production runbooksResponsible disclosure
The repository includes a security policy for reporting vulnerabilities without opening a public issue. Deployment operators remain responsible for host hardening, database access, backups, secret rotation, and retention policy.
Read SECURITY.md