@Blossomforth
You don’t necessarily need to implement a Permission Service to create a permissions system, although if you want to do anything too complex you might need to.
Because of the default implementation, it is possible to add/remove permissions from players without implementing anything, all you need is a SubjectData, which can be obtained through a Subject. There are two kinds of SubjectData, normal and transient. Normal data may or may not be persistent over server restarts (depends on implementation - pretty sure default one doesn’t save anything). Transient data is never persistent over server restarts.
Now, if you want to mess with contexts and the internals of the Permission Service, you may want to implement it, but I’ve found it easier just to give and add permissions.
Like I said in one of those threads you read: