Skip to content
Skip to main content
Novel Systems home
Decision log
D-040August 4, 2026

Audit log retention is tiered, and the pricing table is the source

Decided

Audit logs are retained for 13 months on Starter Operator, 7 years on Growth Contractor, and configurably on Enterprise. AUDIT_LOG_RETENTION in lib/pricing-plans.ts is the single declaration; the privacy policy and the comparison row both read from it. The flat auditLogMonths: 24 in lib/legal-documents.ts was deleted rather than corrected.

Alternative: keep 24 months for everybody, which is simpler to explain and was already written into the privacy policy.

Why not: retention is bought with the tier, the same way seats and SSO are, and the pricing table was the accurate side — it is also the side a customer signs against. Flattening the ladder to a single figure would have meant either giving Enterprise customers less than they pay for or giving entry-tier customers a seven-year commitment nobody priced.

The constant was deleted rather than corrected because a corrected second copy is still a second copy. It would have agreed with the pricing table on the day it was written and drifted on some later day, which is precisely how this entry got into the memo.

The uncomfortable consequence is stated in the policy rather than buried. Thirteen months is shorter than the six years the CRA expects a business to retain its records. A trade operator on the entry tier who assumes the platform is their system of record for tax purposes is wrong, and they should find that out while choosing a plan rather than during an audit in year two. The clause says so in the same breath as the figure.

What would make this wrong: a regulator or a large customer requiring a uniform floor across all tiers. Then the entry-tier window rises to meet it and the pricing changes with it — a commercial decision, not a copy fix.