Currently, there is one iteration of avatar fallbacks, but I would like to suggest a secondary avatar fallback system, using the Trust system.
Outline:
Performance Fallback (Currently implemented) - The avatar a user will see when the other user's avatar does not meet the criteria based on performance metrics/limitations set by the main user.
Safety Fallback (Proposed) - The avatar a user will see when the other user's Trust/Safety settings does not meet the criteria based on Trust/Safety settings [Note: The Trust/Safety fallback avatar could be a private or public avatar, but does not reflect the currently worn avatar of the user, allowing the primary user to have control over which avatar is being viewed by strangers]
Additional information:
Why?
Currently, VRChat does not have a solution for protection against file extraction (avatar ripping), but I am offering this solution as a means to allow users to "consent" to who downloads their files. Utilizing the current Trust/Safety and Fallback systems, of course.
Example:
User A is using a private avatar ["Avatar P"] with a Trust Fallback of a public avatar ["Avatar T"] and a Performance Fallback of a Legacy Avatar ["Avatar L"]. User A has their Trust And Safety settings on "Friends Only" for who can view "Avatar P."
When User A joins a lobby, friends can view "Avatar P," while non-friends can view "Avatar T," and the users who have tighter performance limitations that do not allow "Avatar T," see "Avatar L."
When User A accepts a friend request from User B in the lobby, User B experiences an avatar reload on User A that changes their avatar from "Avatar T/L" to "Avatar P" (Unless "Avatar P" does not meet the performance limitations, then User B will see "Avatar L" again).