Comply with SOX

Published
Length
3 min read

Luis Felipe Dias

All posts

To comply with SOX, public firms must lock down systems that handle money data. Tech teams meet this rule by tying every query to one user and logging changes. The Sarbanes-Oxley Act stops fraud in financial reports. Section 404 says leaders must test and prove their internal rules work. When code or databases touch ledger data, your tech stack falls into audit scope. Auditors check who can read or write that data each day. They also check how your team approves every change to production. Wh

SOX: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

To comply with SOX, public firms must lock down systems that handle money data. Tech teams meet this rule by tying every query to one user and logging changes.

The Sarbanes-Oxley Act stops fraud in financial reports. Section 404 says leaders must test and prove their internal rules work. When code or databases touch ledger data, your tech stack falls into audit scope. Auditors check who can read or write that data each day. They also check how your team approves every change to production.

What auditors check when you comply with sox

Auditors look at IT General Controls during a review. These rules cover three main areas of daily tech work. First, teams must limit who can log in to financial systems. Second, teams must track and approve all code and data changes. Third, teams must keep clear logs of every action on those systems.

Shared admin keys fail these checks right away. If five developers share one root key, no one knows who ran a bad query. Auditors want to see one login per person. They also look for strict separation of duties across the team. The person who writes code should not push it to production alone. Another team member must review and approve that change first.

When a live bug hits, engineers often need fast database entry to fix it. Auditors watch this step very closely. They ask for proof of who asked for entry and who said yes. They also want to see the exact commands the engineer ran during that window. Screenshots of chat messages rarely pass a strict review. Teams need tamper-proof logs that link the ticket, the approver, and the exact SQL query.

Why role reviews need query logs and data masking

Setting up single sign-on and user roles is a good first step. Quarter by quarter, managers check user lists and drop old roles. Yet static role lists only show who could log in to a database. They do not show what an engineer did after logging in.

During a financial audit, that gap causes huge headaches. If an engineer has write rights for an hour, auditors ask what changed. Without command logs, the team must dig through raw database files. Native database logs are hard to read and often miss the human identity. Tying each SQL query or shell command to an identity fixes this fast. Reviewers can read a clean list of every action by user and time.

SOX: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

Response masking also cuts risk during daily fix work. Support engineers often run read queries to check why a bill failed. Those tables may hold sensitive card numbers, phone numbers, or national IDs. Masking rewrites matched fields in results before they reach the screen. The engineer can still see the row state and fix the bug. Sensitive emails and card numbers stay hidden during the whole task. This lowers the chance of a data leak while keeping the audit trail clean.

How to build a repeatable audit process

Many teams treat audit prep as a once-a-year fire drill. Engineers stop feature work for weeks to pull logs and screenshots. A better path is to collect proof as part of daily work. When every production command requires a quick approval, the log builds itself.

Start by listing every database and server that touches revenue data. Remove standing write roles from those systems for all human users. Require a peer review before anyone runs a write query in production. Store the approval and the command output in one central place. When the auditor asks for proof, you can export the full history in minutes.

Add runtime guardrails and masking beside your databases and APIs

Login rules, role grants, and CI checks govern who connects to your stack. Yet any allowed script, engineer, or AI agent still runs commands with the full scope of its role. For workloads on Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes, SSH, or internal HTTP services, hoop.dev sits beside the service as an open-source proxy, a sidecar for your database or API.

Before a query runs, hoop.dev guardrails check the statement against your rules. An AI Analyzer you configure can score intent or hold risky calls for human review. Next, hoop.dev data masking rewrites sensitive fields in responses, and each verdict is logged per listener. Explore the MIT-licensed project on GitHub.

Frequently asked questions

Which engineering systems fall under SOX scope?

Any database, server, or app that stores, moves, or changes financial data is in scope. Tools that control login rights to those financial systems also count.

Can engineers still fix live bugs under SOX rules?

Yes, engineers can use an emergency break-glass flow to fix urgent bugs. Every action must be logged and reviewed by a manager right after the fix.

How long must teams keep SOX audit logs?

Most auditors ask to see logs covering the full fiscal year under review. Financial rules often require firms to store audit records for up to seven years.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.