Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(sdk): Only do a minor bump; #1534

Open
wants to merge 2 commits into
base: fix/nanotdf-fix-function-signature
Choose a base branch
from

Conversation

dmihalcik-virtru
Copy link
Member

deprecate don't delete

deprecate don't delete

This comment has been minimized.

@dmihalcik-virtru dmihalcik-virtru requested a review from a team as a code owner September 9, 2024 20:11
Copy link
Contributor

github-actions bot commented Sep 9, 2024

Warning

This pull request does not reference any issues. Please add a reference to an issue in the body of the pull request description.

@jrschumacher
Copy link
Member

@dmihalcik-virtru this isn't great DX. If we don't want to use client.CreateNanoTDF() then we should use client.CreateTDF() and support all options through abstractions. I believe this will satisfy your concern about deprecation and solve for the specific need for a uniform and developer friendly SDK.

Here are some stories for encrypt:

  • As a developer, I want to use only one function to create TDFs. I don't know what ZTDF and NanoTDF is, I just want a TDF and I want the intelligence of the SDK to give me the best TDF.
  • As a developer, I know that I am building for optimization and I want to use NanoTDF, but I want to make sure that I get an error if I try to add an option that is invalid for NanoTDF.
  • As a developer, I know that I am building for richness of data and I want to use ZTDF, but I want to make sure that I get an error if I try and add an option that is invalid for ZTDF.

Equally, here are some stories for decrypt:

  • As a developer, I have a TDF and I want it decrypted. I don't care what the format is, I just want what's inside.
  • As a developer, I am streaming large data and I know that this must be ZTDF. I want a stream output that I can control.

@dmihalcik-virtru
Copy link
Member Author

yeah, we need to let CreateTDF take a Reader instead of a SeekableReader, too

@dmihalcik-virtru
Copy link
Member Author

Also, additional thoughts/use cases:

  1. During decrypt, I want to only decrypt a specific set of bytes (random access decrypt)
  2. I want to do a lot of similar encrypt (or decrypt) operations and want to shave performance down a lot - e.g. maybe building the options themselves becomes a bottleneck if we aren't careful

@dmihalcik-virtru
Copy link
Member Author

I'll put together some thoughts about how best to design these APIs

@jrschumacher
Copy link
Member

Sounds good. Do you think it's fair to push this issue back to todo to get better grooming so we can identify all the usecases we want to cover?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants