Skip to content

Conversation

@strantalis
Copy link
Member

Proposed Changes

Checklist

  • I have added or updated unit tests
  • I have added or updated integration tests (if appropriate)
  • I have added or updated documentation

Testing Instructions

@strantalis strantalis requested review from a team as code owners January 16, 2026 14:47
@github-actions github-actions bot added comp:policy Policy Configuration ( attributes, subject mappings, resource mappings, kas registry) comp:ci Github Actions Work comp:sdk A software development kit, including library, for client applications and inter-service communicati comp:kas Key Access Server docs Documentation comp:examples comp:lib:ocrypto size/xl labels Jan 16, 2026
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @strantalis, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request undertakes a significant refactoring effort to entirely deprecate and remove NanoTDF support from the project. The primary goal is to simplify the architecture and maintenance burden by concentrating all development efforts on the standard TDF format. This change impacts various layers, from low-level cryptographic utilities to user-facing command-line tools and documentation, ensuring a consistent and unified approach to data protection.

Highlights

  • Complete Removal of NanoTDF Support: All code, configurations, examples, and documentation related to NanoTDF have been systematically removed from the SDK and associated services. This includes specific NanoTDF data structures, encryption/decryption logic, command-line flags, and test cases.
  • Codebase Simplification: The removal streamlines the codebase by eliminating a separate TDF format, allowing for a more focused development on the standard TDF specification. This reduces complexity in areas like bulk decryption, header parsing, and key derivation.
  • Documentation and Example Updates: References to NanoTDF in documentation (e.g., docs/examples_encrypt.md, docs/grpc/index.html) and example applications (examples/cmd/) have been updated or removed to reflect the exclusive support for standard TDF.
  • Refactoring of Cryptographic Operations: Generic cryptographic functions and tests (e.g., in lib/ocrypto/) that previously had NanoTDF-specific naming or logic have been renamed or adjusted to be more general-purpose, such as changing 'NanoVersionSalt' to 'TDFSalt'.

🧠 New Feature in Public Preview: You can now enable Memory to help Gemini Code Assist learn from your team's feedback. This makes future code reviews more consistent and personalized to your project's style. Click here to enable Memory in your admin console.

Ignored Files
  • Ignored by pattern: .github/workflows/** (1)
    • .github/workflows/checks.yaml
  • Ignored by pattern: docs/openapi/**/* (11)
    • docs/openapi/kas/kas.openapi.yaml
    • docs/openapi/policy/actions/actions.openapi.yaml
    • docs/openapi/policy/attributes/attributes.openapi.yaml
    • docs/openapi/policy/kasregistry/key_access_server_registry.openapi.yaml
    • docs/openapi/policy/namespaces/namespaces.openapi.yaml
    • docs/openapi/policy/objects.openapi.yaml
    • docs/openapi/policy/obligations/obligations.openapi.yaml
    • docs/openapi/policy/registeredresources/registered_resources.openapi.yaml
    • docs/openapi/policy/resourcemapping/resource_mapping.openapi.yaml
    • docs/openapi/policy/subjectmapping/subject_mapping.openapi.yaml
    • docs/openapi/policy/unsafe/unsafe.openapi.yaml
  • Ignored by pattern: protocol/**/* (2)
    • protocol/go/kas/kas.pb.go
    • protocol/go/policy/objects.pb.go
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.


Old code, once bright, Now fades from memory's sight, New paths, clean and light.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively removes all support for nanotdf from the codebase. The changes are comprehensive, touching documentation, examples, tests, and core SDK and service logic. The removal of nanotdf-specific code paths simplifies many areas, and the renaming of concepts from nanotdf to more generic terms like EC-based is a good improvement for clarity. The PR is well-executed and I have no further suggestions.

pflynn-virtru
pflynn-virtru previously approved these changes Jan 16, 2026
@pflynn-virtru
Copy link
Member

as stated via the ! cc, this is a breaking change that will have impacts downstream and with testing with older versions.

@strantalis strantalis enabled auto-merge January 16, 2026 15:41
Remove NanoTDF implementation and references from SDK, examples, and KAS.

Regenerates grpc/openapi/proto outputs.

Signed-off-by: strantalis <[email protected]>
Update benchmark-bulk CI invocation after removing the --tdf flag.

Signed-off-by: strantalis <[email protected]>
Avoid yq env(ROOT_KEY) evaluation when key_management is false in start-additional-kas.

Signed-off-by: strantalis <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

comp:ci Github Actions Work comp:examples comp:kas Key Access Server comp:lib:ocrypto comp:policy Policy Configuration ( attributes, subject mappings, resource mappings, kas registry) comp:sdk A software development kit, including library, for client applications and inter-service communicati docs Documentation size/xl

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants