Urgent.News

What's breaking now, across thousands of outlets.

Tech

Anonymizing FIX logs without breaking them: BodyLength, CheckSum and the five traps

When a counterparty asks for "the log", you need to strip client IDs, account numbers and names first. Find-and-replace sounds enough, but it silently corrupts the session, because every FIX message carries two integrity fields that depend on the exact bytes. The two fields BodyLength (9) is the number of bytes after the SOH that ends the 9= field, up to and including the SOH before 10=. CheckSum…

When a counterparty requests a log, the first step is to remove sensitive information such as client IDs, account numbers, and names. A simple find-and-replace method can be used, but it can inadvertently disrupt the session because FIX messages include two integrity fields that depend on the exact byte sequence. The BodyLength field (9) specifies the number of bytes after the SOH (Start of Header) character up to the next SOH before the 10= field.

The CheckSum field (10) is the sum of each byte from the 8= field through the same SOH, modulo 256, and written as three digits. Altering 1=ACC-77812 to 1=ACCT_1 will corrupt both fields, causing the receiving engine to reject or drop the message. To compute the new values, start with the SOH character (0x01), create an encoder object for UTF-8 encoding, and map each [tag, value] pair into a string format, excluding fields 8, 9, and 10.

The finalize function combines all these components to generate a complete FIX message, ensuring that the BodyLength and CheckSum fields remain accurate. The five common pitfalls to avoid are counting bytes, not characters, using consistent tokens for mapping, recalculating length-prefixed fields when modifying data, and handling repeating groups carefully, as they often contain sensitive information.

SafeFIX, a free tool for up to 100 lines, provides a browser-based solution that anonymizes accounts, IDs, names, and free text while maintaining token maps and recomputing the 9 and 10 fields for every message. A synthetic log generator, fix-iso20022-samples, is available for testing any anonymization method.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

Deploying Django on AWS Free Tier: A Cost-Effective Path to Production

Bringing a Django application from local development to a publicly accessible production environment often feels like a significant hurdle, especially when budget constraints loom large.

  • AWS Free Tier enables cost-effective Django deployment
  • Utilizes EC2, RDS, S3, and Security Groups for setup
  • Scalable foundation for future application growth

GitHub Actually Fixed SHA Pinning. I Wasn't Expecting That.

Originally published at https://www.vaines.org/posts/2026-11-03-github-actually-fixed-sha-pinning/ Back in March, I wrote The Comforting Lie of SHA Pinning , after spending rather too much of my…

  • GitHub fixed SHA pinning issue in March 2026
  • Workflow dependency lockfiles record resolved commit and repository identity
  • Prevents execution of malicious code from forked repositories

More from Tuesday 3 November →