Storage wrapper should work theoratically, whatever Seems like you are right about read signals. I found before and after read event in here https://github.com/owncloud/core/blob/2a6722494dcecf175597d524093ceeeef10d47ae/lib/private/Files/View.php#L586 . You can listen this event to achieve your purpose. Your listener should something like that https://github.com/owncloud/security/blob/master/lib/Hooks.php#L82. You will listen "file.beforeread" and "file.afterread" events, these events are supplying path as an argument.