Hi @francescobenintende , delighted to hear you are enjoying Daml, and welcome to the forums!
Package vetting is really a simple propose-accept pattern that can be done out of band, or in case of Canton, over the ledger. Let’s say Alice has developed a new application she wants to share with Bob.
First, she deploys the application to her participant node via daml ledger upload-dar (or alternatively via dars.upload of the administrative shell.
Now she shares her application code - her DAR file - with Bob. The DAR file contains the source code of the main package, the compiled binaries, and meta-information. These can be inspected using daml damlc inspect-dar, or the DAR file can be unzipped. Daml compilation is deterministic within an SDK version so Bob can also recompile the source to verify that it matches the binary. Now Bob uploads the DAR file to his participant the same way.
To do the sharing over the ledger, the participant administrative shell has commands to propose and accept DAR sharing requests, as well as a whitelist function to allow other participants to share packages automatically and unilaterally.