Hi Jan,
Re your third solution, that's very similar to what we have proposed in the API documentation with one key difference - just implement an interface if it doesn't exist:
namespace assignsubmission_example\privacy; if (interface_exists('\core_privacy\local\request\userlist')) { interface my_userlist extends \core_privacy\local\request\userlist{} } else { interface my_userlist {}; } class provider implements my_userlist {
Andrew