Systems and methods are described for modifying input and output (I/O) to an object storage service by implementing any combination of and any number of owner-specified functions and native functions. A function can implement a data manipulation. The functions can be applied prior to implementing a request method (e.g., GET, PUT, LIST, etc.) specified within the I/O request, such that the data to which the method is applied may not match the object specified within the request. For example, a user may request to obtain a data set. The data set may be passed to a native function that filters sensitive data to the data set, the output of the native function may be passed to an owner-specified function that redacts data from the filtered data set, and the request method may then be applied to the output of the owner-specified function.