Row level security essentially delegates the management of what an authenticated user can do with individual rows to the underlying RDBMS. If you are thinking in terms of CRUD, this only applied to the letter R, U and D.
Row level security tends to be expensive, especially if it is abused/misused.
With regards to how to structure the repository, it depends on your needs. If your projects are all independent and are not contributing to documenting or creating/transforming an existing common and visible architecture, the you are fine with individual project files or databases. However, if these projects are contributing to documenting and creating/transforming a common and visible architecture, you probably need to have a common repository.
There are various ways to achieve this, one of them involves using multiple files/databases which are consolidated at some point into a central core repository.
It really depends on your requirements. There is another thread on the forum with a similar subject.
With regards to the canonical model proposed by adepreter, the important thing in my experience is to have, use, and monitor the usage of a canonical meta model. In my experience, a canonical approach is not achieve by having all structural elements in an structural folder. If the meta model is truly canonical and monitored properly, the same can be achieved by having multiple structural folders one per domain and/or project. The key thing is to encourage re-use and prevent duplication.