How does Ray realize the immutability of object in shared memory

Whether Plasma has done special processing in the Seal() ?

that’s correct. Seal is an implementation detail of Ray and to users once you finished writing the object, either explicitly through ray.put or implicitly through task arguments/return values, it’s sealed and becomes immutable.