As you probably know there are .dat files with a list of stuff we play/run.
So far we either fill it with fake stuff, make it read only or stealth homebrew to games, all of which are somewhat flawed. Using PSN games we don't own can be a reg flag and the lists may sort themselves by recent play (bad if you unlocked a trophy and synced yet the game is at the bottom - this is a bit of a stretch but possible).
I think though we could just create a library that all homebrew runs at start that would remove itself from these files leaving all real games without any homebrew or signs of running homebrew.
Each run game stores itself in this format:
G + GAMEID (like BB0011111) + 22 nul spaces (00 in hex editor).
GAMEID (like BB0011111) + 23 nul spaces (00 in hex editor) + VERSION (like 01.20) + 3 nul spaces (00 in hex editor) + Needed FW (like 03.2100) + 5 nul spaces (first 4 are 00, I have seen 01 and 02 for the last space not 00).
GAMEID (like BB0011111) + 1 nul space (00 in hex editor).
All coded homebrew would have these stored as variables, and upon start of the homebrew it would delete the parts concerning itself from these files. This would remove the record of the homebrew without creating an odd/unlikely scenario and remove the need to use a specific tool to delete logs (which looks bad if you get on PSN and sync trophies yet your list is empty).