"select * from pg_prepared_xacts" might produce transactions created by a different user, so the caller won't be able to issue "commit prepared".
I think there should be a view that returns only the transactions that the caller can commit or rollback.
Is it something that can be implemented at the backend?
Currently, the backend checks owner and database when user calls "commit prepared", so I believe the similar filter should be implemented in pg_prepared_xacts view: