A client device for protecting a media program having a plurality of protected frames, the client device comprising:
- one or more processing units configured to:
- receive the plurality of protected frames in the client device;
- decrypt the plurality of protected frames received in the client device to obtain a plurality of decrypted frames;
- decompress the plurality of decrypted frames to recover a plurality of corrupted frames;
- and
- incompletely decorrupt one or more of a first subset of corrupted frames of the plurality of corrupted frames, according to one or more decorruption operations to produce a first set of frames, wherein incompletely decorrupting the one or more of the first subset of corrupted frames is performed according to an identity of the client device and represent a watermark traceable to the client device.