Phantom is an object setting that can be changed from the edit window or by script. When an object is phantom it will pass through other objects and avatars. An object can be physical as well as phantom and they will collide with only the ground (except for objects using llVolumeDetect which will fall through the ground). Flexible objects are automatically set phantom. Avatars can not be set phantom (although there was a bug in the past that allowed this but was fixed due to fear of exploitation in games).