The matter of whether Bob retains CFrags (ie, calls retrieve with retain_cfrags=True) and also whether he uses retained material (ie, use_attached_cfrags and use_precedent_work_orders) needs to be a configuration option which, if set, allows a hacker using Bob to decline to pass these values during retrieval.