Limit the use of adopted authority

When a program runs, the program can use adopted authority to gain access to objects in two different ways: