Open
Conversation
dgafka
reviewed
Jan 17, 2026
packages/DataProtection/src/OutboundDecryptionChannelInterceptor.php
Outdated
Show resolved
Hide resolved
packages/DataProtection/src/Configuration/DataProtectionModule.php
Outdated
Show resolved
Hide resolved
7460dca to
dac7750
Compare
dgafka
reviewed
Jan 28, 2026
Member
dgafka
left a comment
There was a problem hiding this comment.
Just some more coverage comments and potential API improvements.
I do think we can start with this and iterate over that (e.g. discuss how we want to handle Event Streams) :)
packages/DataProtection/tests/Integration/ObfuscateAnnotatedMessagesTest.php
Outdated
Show resolved
Hide resolved
packages/DataProtection/tests/Integration/ObfuscateAnnotatedMessagesTest.php
Outdated
Show resolved
Hide resolved
packages/Ecotone/src/Messaging/Channel/PollableChannelInterceptorAdapter.php
Show resolved
Hide resolved
packages/DataProtection/src/OutboundEncryptionChannelInterceptor.php
Outdated
Show resolved
Hide resolved
packages/DataProtection/src/OutboundEncryptionChannelInterceptor.php
Outdated
Show resolved
Hide resolved
packages/DataProtection/tests/Fixture/ObfuscateAnnotatedEndpoints/TestCommandHandler.php
Outdated
Show resolved
Hide resolved
- use `Ecotone\DataProtection\Attribute\UsingSensitiveData` to define messages with sensitive data - use `Ecotone\DataProtection\Attribute\Sensitive` to mark properties with sensitive data - define encryption keys with `Ecotone\DataProtection\Configuration\DataProtectionConfiguration` - sensitive data will be encrypted right before its sended to queue and decrypted right after message is being retrieved from queue - data protection require JMSModule to be enabled
- allow to define sensitive headers
- message - endpoint - channel
0e82dbf to
167e1d8
Compare
- solution provides obfuscation either for payload: either via Domain Message or entire channel - annotated Message will have precedence over channel configuration - obfuscating headers will be additional for message or default for channel as headers are not derivative from domain messages - annotating single endpoint, Ecotone will try to configure obfuscator for Message based on Payload
167e1d8 to
647a732
Compare
check license ensure data protection is applied on pollable channels ensure ChannelInterceptor::postReceive() modifies message when defined
add DataProtection test suite to phpunit.xml.dist file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why is this change proposed?
Sensitive data should be obfuscated when leaving application via transport channels.
Description of Changes
Ecotone\DataProtection\Attribute\Sensitiveto define messages with sensitive datamessage,endpoint, or globally forchannelEcotone\DataProtection\Configuration\DataProtectionConfigurationPull Request Contribution Terms