Implement Site.protect

Change-Id: Ida3a20650948c4ef55c367793667387b7069652a
Original-Change-Id: I085c1a271e91324e8641f405fccec297f5533703
Merge "Implement Site.protect"