Announcement date: 30 September 2026. Google Cloud announced that new Cloud Storage client-library versions calculate checksums for object writes by default. The server compares the client checksum with its own result and rejects a mismatch. This is a small interface change but a meaningful change to the transfer-integrity assumption. Source: Google Cloud release notes, 30 September 2026.
What is factual
- The documentation recommends CRC32C. It lists minimum client versions including Node.js 7.19.0, Java 2.62, Python 3.7.0 and Go 1.60.0.
- For a write, the client calculates a checksum and the server calculates its own; a mismatch produces a 400 error. This validates the bytes transferred between client and storage.
- Not every path behaves identically. Parallel composite uploads require component checks and additional validation; ordinary range reads cannot be compared with the checksum for the complete object. The documentation identifies gRPC ranged reads as an exception with per-chunk checksums.
The behaviour and limitations are described in the Cloud Storage data-validation documentation.
Architecture interpretation
Check the client version and operation actually in use rather than writing “integrity is provided by the cloud” in an HLD. Default checksums reduce the risk of silent corruption during transfer. They do not prove that the application stored the right file for the right tenant, that the object was not subsequently replaced or that a backup can be restored.
The change also has an operational consequence: after an upgrade, previously invisible write failures may surface. Observe rejections, define safe retry behaviour and do not hide a mismatch behind unconditional retries. For large files, test checksum overhead, resumable upload behaviour and the read path separately. These are design conclusions, not vendor promises.
Question for your project: can you identify which transfers are actually validated end to end, and how the application responds to a checksum mismatch?
Discuss this article
Share a constructive observation or an anonymised example. Comments are checked by AI before publication. Uncertain cases go to the moderator.