VIEW THIS AS

Auto mode follows the Route Engine until you choose a viewpoint.

YOU ARE HERE

ROUTE CHECK

CONNECTED TO

WHAT NEXT

Use the canonical route for this room, or HELP if you are unsure.

The Gold Standard of Information | Parquet Modular Encryption, Column Access and File-Identity Checks

THE GOLD STANDARD OF INFORMATION

Encrypted columns still need a clear access and identity contract

An analyst is allowed to read totals but not names. A file contains both. Encrypting the storage disk does not by itself create that distinction for someone who can download the file. Parquet modular encryption can protect different parts with different keys, but the surrounding access and verification rules still matter.

This guide follows a fictional research export from protection choices to selective reads, failed access and recovery. It explains the information boundaries rather than offering a production cryptographic configuration. Use supported libraries and your organisation’s security review for real sensitive data; the worked fixtures should contain no real personal information.

Information subject guide · Learning that transfers into life · How X Works hub

Choose your reading route

Route 1 · Chapters 1–3: Choose the protection boundary

Start with data, metadata and keys

Chapters 1–3 separate modules, footer modes and access capabilities.

Route 2 · Chapters 4–6: Verify the evidence

Test authenticity and identity

Chapters 4–6 cover authenticated context, algorithms and derived copies.

Route 3 · Chapters 7–9: Operate the handover

Rehearse recovery and change

Chapters 7–9 build a controlled test matrix and a truthful receipt.

Full chapter index · Independent worked case · Questions and practical checks

CHAPTER 1 OF 9 · Choose the protection boundary

1. Name what must remain private

Back to contents

Begin with the recipient and the task. A fictional study has participant_id, site, score and contact_name columns. An analyst needs site and score. A contact coordinator needs names and identifiers. A custodian needs to maintain the complete export. These are different capabilities, even if all three people can reach the same storage location.

Storage-level encryption protects a storage boundary; transport encryption protects a connection. Neither alone guarantees column separation for a recipient who obtains a decrypted file. Modular encryption works inside the Parquet format, so selected data and metadata modules can be protected while column-oriented reading remains possible.

Do not start by assigning one key to every role and assuming the role labels create separation. If a person can retrieve every key, they can potentially read every protected part, subject to the reader and access path. The key-authorisation service and credentials are part of the effective boundary.

Inventory metadata as well as visible cells. Statistics, schema names, row counts, file paths and key-retrieval identifiers can disclose information. A file can hide contact_name values while still revealing a sensitive category in a column name or an export path. Decide whether that disclosure is acceptable for the intended audience.

Write the desired capabilities in plain language before choosing options. ‘Analyst may read score without contact_name access’ is testable. ‘The file is secure’ is too broad. Include expected failures, what metadata remains visible and which derived outputs the analyst may retain. These statements become the acceptance tests later.

Contents · Next chapter

CHAPTER 2 OF 9 · Choose the protection boundary

2. Understand why the file is encrypted in modules

Back to contents

Parquet is organised into separately serialised components, including pages, headers, indexes and a footer. Modular encryption protects components separately so that a reader can locate and access selected columns without treating the file as one indivisible encrypted blob. Compression and encoding still have their own roles.

For protected columns, the design covers more than the main value bytes. Their pages, page headers, column indexes, offset indexes and Bloom-filter structures are protected under the applicable column key. Otherwise a supposedly hidden column could leak through an unprotected optimisation structure. Check actual writer support rather than assuming every implementation emits every optional feature.

Data pages are compressed before encryption. A reader must reverse the appropriate operations through the supported library. Do not attempt to modify compressed bytes or copy encrypted modules into another file as if they were independent harmless chunks. Their identity and authentication context are part of the format.

In the study example, score may use a key distinct from contact_name. The footer can have another key. A reader may need footer access to discover the structures required for a selective read. Possessing a column key is therefore not always enough to complete a read through a particular footer mode.

This organisation is a mechanism, not an access policy by itself. It provides places to enforce separation. Your key service, reader options, deployment credentials and output handling determine who can actually use those places. Test the complete read route under restricted credentials, not just the file produced by an all-powerful writer account.

Contents · Previous chapter · Next chapter

CHAPTER 3 OF 9 · Choose the protection boundary

3. Choose footer visibility deliberately

Back to contents

The footer describes the file and its row groups and column chunks. In encrypted-footer mode, the reader needs the relevant capability to obtain that metadata. In plaintext-footer mode, the design leaves a footer readable while protecting its integrity and separately protecting sensitive column metadata as specified. These modes have different disclosure and compatibility consequences.

A plaintext footer is not the same as an entirely unprotected file. Conversely, encrypted data columns do not mean every fact about the file is hidden. Inspect what an unauthorised reader can learn from the actual output. Include schema and file-level information in the review, and avoid placing secrets in arbitrary key/value metadata.

For a synthetic fixture, write one version in each supported mode. With no keys, test whether the reader can open metadata, discover names, obtain counts or read any unencrypted column. With the footer key but no sensitive column key, test the allowed projections and the protected projection separately.

Some legacy readers may access unencrypted columns in a compatible plaintext-footer layout. That is an interoperability goal, not a guarantee about all old software. Record the exact reader version and result. A blanket statement that legacy tools are supported can hide a crucial failure for the actual recipient.

Select the mode from the task and threat model, not merely from the one that opens most conveniently in a preview tool. If a recipient must not discover the schema or dataset existence, file-level encryption is only part of the answer; storage access and naming practices also need review. No footer setting hides a file from someone who can list its directory.

Contents · Previous chapter · Next chapter

CHAPTER 4 OF 9 · Verify the evidence

4. Bind authentication to the expected file

Back to contents

Authenticated encryption checks that protected data and its authenticated context have not been altered in the ways covered by the scheme. It does not mean the plaintext is factually true, nor that the file is the latest authorised dataset. A correctly encrypted old snapshot can still be the wrong input for today’s report.

Parquet builds module authentication context using internal file and module identity. An optional application-supplied additional-authenticated-data prefix can bind further context, such as dataset, version and partition identity. Full-file replacement protection depends on how that optional mechanism is used and how the reader checks the expected identity.

Suppose the report expects study-R/version-8/part-2. A file claiming version 7 may be internally authentic and fully decryptable. The application must compare it with an independently expected version-8 identity, not accept the file’s own label as the answer. An attacker need not forge a tag to present a genuine but stale file.

Likewise, checking each file independently does not establish that every required partition arrived. Retain an authorised expected manifest or other trusted dataset boundary. Three valid partitions out of four can produce a plausible incomplete total. Authentication and completeness are separate checks.

Do not put secret participant names into an authentication prefix merely to make it distinctive. A prefix can be visible depending on the chosen storage mode and options. Use an appropriate non-sensitive identity convention and verify its disclosure properties. Context should distinguish the intended object without becoming another unreviewed leak.

Contents · Previous chapter · Next chapter

CHAPTER 5 OF 9 · Verify the evidence

5. Do not erase the difference between supported algorithms

Back to contents

The documented design includes AES_GCM_V1 and AES_GCM_CTR_V1. The all-GCM option authenticates protected modules including page data. The combined option uses GCM for metadata modules but CTR for page data, with different page-data integrity properties. Saying only ‘AES encrypted’ hides this important distinction.

Choose an approved supported configuration with qualified review. This article does not benchmark algorithms or recommend trading integrity for speed. If a workflow claims that modified page data will be detected cryptographically, verify that the chosen mode actually supports that claim. A checksum is not a replacement for an authentication tag against deliberate modification.

Use a controlled synthetic corruption test through an approved harness or a copy whose byte boundaries are understood. Never corrupt the only copy of a real dataset. Record the exact component changed, expected failure and observed error. A generic file-open failure does not establish that every protected module is checked on every access.

Selective reads naturally inspect only the material needed for that read. Successfully reading site and score does not prove that an unread contact_name page is intact. If a release requires validation of all protected content, define a separate authorised verification pass over the full promised scope.

Nonce construction and per-key use limits belong to the cryptographic implementation and higher-level key policy. Do not invent manual nonces or reuse keys indefinitely because a small test passed. In distributed writing, system-wide responsibilities can exceed what one writer instance can observe. Keep the library’s documented requirements and the organisation’s key lifecycle together.

Contents · Previous chapter · Next chapter

CHAPTER 6 OF 9 · Verify the evidence

6. Follow keys and plaintext beyond the file

Back to contents

Key metadata helps a reader locate or recover a key through the configured system. It is not automatically the plaintext secret key itself. Different deployments can use wrapped data keys, external key material or caller-managed arrangements. Record the chosen scheme without exposing credentials in logs or examples.

For the study, imagine separate data-key paths for score and contact_name, protected through the organisation’s key service. The analyst’s service identity can obtain score access and the required footer capability but not the contact key. Test that identity directly. Running the test with an administrator’s credentials proves another capability entirely.

Revoking future key retrieval does not erase plaintext already read, screenshots, exported CSV files or cached key material. State the actual boundary. A revocation can block later retrieval through a controlled route while leaving previously authorised derivatives governed by separate retention and access rules.

A derived aggregate may still disclose sensitive information when groups are very small or queries can be combined. Column encryption does not evaluate statistical disclosure risk. Decide whether the proposed output is authorised in its own right. ‘No names in the output’ is not a complete privacy argument.

Keep operational logs useful but restrained. Record key identifiers, policy decisions and safe correlation IDs where allowed; do not dump raw keys, access tokens or private payloads. A troubleshooting routine that copies everything into an unsecured log can undo the protection the file format was chosen to provide.

Contents · Previous chapter · Next chapter

CHAPTER 7 OF 9 · Operate the handover

7. Build an access matrix before calling the export ready

Back to contents

Use a fixture with a handful of invented rows and independent expected results. Define identities for no-key reader, analyst, coordinator and custodian. For each identity, specify expected metadata visibility, permitted projections, forbidden projections and expected failure categories. The matrix describes the complete delivery route, not just isolated cryptographic functions.

Test analyst reading score and site, analyst requesting contact_name, coordinator reading contact fields, and custodian performing a full validation. Add a wrong-key case and an unavailable-key-service case. Separate ‘not authorised’ from ‘temporarily unavailable’ in the application outcome without exposing sensitive details to an inappropriate audience.

An application must not silently replace an unreadable protected column with null and present the result as complete. A null value is a data state; failure to obtain permission or decrypt is a processing state. Substituting one for the other can corrupt counts, joins and decisions even while confidentiality remains intact.

Check predicate behaviour too. A permitted projection may still require a protected field for filtering. If the analyst requests scores where a sensitive category has a certain value, the query needs an authorised way to evaluate that predicate. The absence of the category from SELECT does not make the access irrelevant.

Record successful and denied operations with exact expected row sets and counts, keeping the fixture synthetic. Re-run after a reader upgrade, changed footer mode or new key-service policy. Capability drift can occur without any schema change, and a previously valid handover may cease to work safely.

Contents · Previous chapter · Next chapter

CHAPTER 8 OF 9 · Operate the handover

8. Rehearse rotation, recovery and failure honestly

Back to contents

Distinguish changing a wrapping key from changing a data-encryption key. Rewrapping may preserve the encrypted data while updating how its key is protected. Re-encrypting changes the protected data representation. The surrounding key-management arrangement determines what must be updated and where key material resides.

Do not delete old key paths immediately after a successful new write. Inventory historical files, backups and external key-material references. Rehearse recovery of representative old and new files under the intended policy. A current file opening correctly does not prove that an archive can still be recovered.

For a test, retain two synthetic file generations and an explicitly versioned key-material arrangement. Demonstrate the planned permitted recovery before and after rotation. Then test a deliberately denied old route if retirement is intended. Keep the rollback period and authority clear; this is not permission to weaken actual access controls.

Key loss can make encrypted data unrecoverable. Conversely, keeping every historical key indefinitely may conflict with the intended retirement boundary. These are governance decisions that require a documented balance, not a single technical trick. Use the existing envelope-encryption and secure-deletion guides for the wider lifecycle.

When the key service times out, reconcile the read’s state rather than declaring data missing. Retry only under the service’s normal policy and without bypassing authentication. Report an unavailable or unresolved result when necessary. A report that quietly proceeds with a subset can be more damaging than an honest temporary failure.

Contents · Previous chapter · Next chapter

CHAPTER 9 OF 9 · Operate the handover

9. Carry a bounded security claim into the handover

Back to contents

A useful receipt names file identity and version, selected protection mode, permitted projections, expected key capabilities, metadata visibility and the tests actually performed. It does not certify an entire organisation’s security. Keep the scope close to the evidence: which reader, which identity, which synthetic or authorised dataset and which operations.

For a recipient, supply instructions for authorised access without bundling plaintext secrets into the same public message. Include how to recognise a wrong version, how unavailable keys are reported and whom the operational process designates for support. A file that can be decrypted only by its creator is not a finished interoperable handover.

For an audit, distinguish authentication of stored bytes from correctness of source collection. A faithfully encrypted score of 70 can still have been entered for the wrong participant. Continue checking schema meaning, identifiers, units and provenance after decryption. Protection helps preserve a record; it does not establish the truth of every statement inside it.

After a configuration change, test a changed-context case rather than rerunning only the happy path. Add a protected predicate, a missing partition, a stale authentic version or an export derivative. Those scenarios reveal gaps outside basic decryption and show whether the declared policy still follows the data.

Finish with the actual promise: this named identity can read these parts of this expected dataset through this tested route, while these other operations fail as intended. Keep unresolved limits visible. That is stronger and more useful than claiming that an encrypted file is safe everywhere it travels.

Contents · Previous chapter · Return to Information

Independent worked case: an authentic but incomplete study export

A fictional release contains four expected partitions, each with ten rows. Every partition is encrypted using an approved all-GCM configuration. The analyst is allowed site and score access but not contact names. The expected manifest identifies release 8 and partitions 0 through 3. These numbers are teaching inputs, not production measurements.

The delivery includes three correct release-8 partitions and one genuine release-7 partition renamed to resemble the fourth. All four decrypt successfully with the available key paths. A test that checks only decryption and a total of forty rows passes. It has not established that the input is the expected release.

The independent identity check rejects the release-7 partition against the expected release-8 identity. Merely reading the file’s own version label and accepting whatever it says would not solve the problem. The recipient needs a trusted expectation from the release process, and the application must actually enforce it.

Now remove the stale partition rather than replacing it. The remaining thirty rows may all be authentic and correctly decoded. The report is still incomplete for the forty-row release. A required-partition check detects a different failure from the version check. Preserve both outcomes in the receipt.

Next, ask the analyst to calculate a mean only over rows satisfying a protected contact-category predicate. The visible output would contain no names, but evaluating the predicate crosses a protected boundary. The query should use an explicitly authorised route or fail honestly; selecting fewer output columns does not eliminate that access requirement.

Finally, revoke the analyst’s future key-service access after an authorised export has been downloaded. New controlled reads should follow the revised policy, but the already exported plaintext does not disappear. The handover therefore needs derivative handling and retention rules as well as key access. The fixture demonstrates four independent boundaries: authenticity, expected identity, completeness and post-read custody.

A safe projection test uses deliberately distinctive synthetic values. Give each fake participant a contact label that cannot be mistaken for a real person and scores with independently calculated totals. Verify that the analyst’s permitted output matches those totals while protected contact reads fail as designed. Do not search production logs for actual private names to prove that encryption worked. The test must not create the disclosure it is trying to prevent, and successful denial should be recorded without copying sensitive request details into a broad-access dashboard.

Test a protected filter with an unprotected output. Imagine site is readable but eligibility_flag is protected. SELECT site WHERE eligibility_flag = true still needs an authorised way to evaluate the flag. If the system substitutes an unknown value, it may exclude every row and return an empty but apparently successful result. The expected outcome should therefore cover predicate access, not just output-column access. Query planning, remote filtering and key retrieval must preserve the same policy boundary throughout execution.

A full-validation receipt must also identify what was not opened. Reading only the footer can establish some metadata properties without checking every page. Reading a single projection can authenticate the modules involved in that read while leaving other modules unexamined. Name the inspected scope instead of writing ‘file verified’ after any successful operation. When a release requires a complete validation pass, schedule and authorise that operation explicitly, and retain a distinct completion status for missing or unreadable parts.

Operational availability can affect the interpretation of a security test. A denied request and a key-service outage may both prevent a read, but only the first directly demonstrates a policy denial under the tested identity. If the service is unavailable, repeat the test through its normal recovery process before claiming that access separation passed. Avoid weakening policy to obtain a green result. The honest outcome is unresolved until the dependency recovers; preserve the test identity and expected capability so the retry measures the same boundary.

Before final handover, ask the custodian to explain how a future authorised reader will obtain the correct key material for an old synthetic file, how the reader recognises its intended version, and how a missing partition is reported. Ask the analyst what happens to an already downloaded derivative when access is revoked. If these answers depend on an undocumented personal workaround, the handover is unfinished. The goal is not merely a file that opens today, but a supported, bounded access route whose privacy and recovery limits remain understandable after the original writer leaves.

Keep the synthetic fixture and the expected access matrix available to the receiving team. They can rerun the same bounded checks after a reader upgrade without needing real sensitive records or administrator credentials.

Keep these distinctions visible

MechanismUseful evidenceLimit
Column keysSeparation of permitted read capabilitiesIneffective if every recipient can obtain all keys
Authenticated modulesDetection of covered data/context changesNot proof of factual truth or newest version
Expected manifestDataset identity and completeness checksMust be trusted independently of delivered files
Key revocationFuture access through the controlled key routeDoes not erase prior plaintext copies
Encrypted footerProtected metadata accessDoes not hide every storage-level fact
Protection mechanisms support specific claims, not a blanket guarantee of secrecy, truth or completeness.

Questions and practical checks

Is disk encryption enough for different column permissions?

Not by itself for recipients who can obtain decrypted files. Define the actual recipient capabilities and use an appropriate supported protection mechanism. Test the complete route under restricted credentials.

Does an authorised column key guarantee a successful read?

Not always. The reader may also need footer access and compatible implementation support. Test the chosen mode, required metadata and projection together rather than checking a key in isolation.

Should failed decryption appear as null?

Not as a silent substitute for a complete result. Null is a value state; unavailable or denied decryption is a processing outcome. The application should disclose the appropriate failure without leaking sensitive details.

Does a valid authentication check prove the latest file arrived?

No. An old authentic file can still be the wrong release. Compare independently expected file/version identity and the complete dataset boundary. Optional authentication context must be used and checked as intended.

Can I revoke a downloaded CSV by deleting its key?

No. Plaintext derivatives have their own custody and retention boundary. Key retirement can affect encrypted copies and future retrieval routes, not magically remove every prior output.

Continue by the question you need to answer

Understand the protected structures

Follow the data and metadata whose confidentiality and integrity need separate checks.

Row-group statistics, predicate skipping and nulls
Page indexes, row ranges and selective reads
Bloom filters and physical value encodings
Page checksums and corruption boundaries
Parquet structure and documentation overview

Preserve identity and lifecycle

Continue into key rewrapping, residual copies, verification and record identity.

The Gold Standard of Information | Envelope encryption and data-key rewrapping
The Gold Standard of Information | Secure Deletion, Crypto-Shredding and Residual Copies
Canonical serialization and stable verification
Natural keys, surrogate keys and identity drift

Sources and scope

This is an explanatory and testing guide, not a production security configuration or compliance assessment. Use supported cryptographic libraries, approved key management and qualified review for real sensitive data.

Apache Parquet modular encryption specification — Modules, modes, authentication context and key metadata.

Apache Parquet encryption design — Detailed format and security boundaries.

The scenarios and fixture values in this guide are original teaching examples, not reports about a live organisation. Format and implementation references were checked on 11 November 2026. The checking sequences are practical teaching suggestions; they do not certify a particular reader or production dataset.

Return to the Gold Standard of Education · Explore How X Works