If one person takes a copy of another person's object, the object left in-world loses
PERMISSION_DEBIT
. I didn't test other permissions
  1. Rez an object and insert this script:
default {
state_entry() {
llRequestPermissions(llGetOwner(), PERMISSION_DEBIT);
}
touch_start(integer count) {
llOwnerSay("Permissions: " + (string)llGetPermissionsKey() + ": " + (string)llGetPermissions());
}
}
  1. Grant debit permission
  2. Click to make sure it has permission
  3. Sign onto an alt that has object edit permissions
  4. On the Alt, right click > Take Copy
  5. Click the object still rezzed in world. It no longer has debit permission