Any package that appears under your Project’s Packages folder is embedded in that Project. Typically, when you create a new package, you embed it in your Project while you are developing it. When it is ready to be shared with other users and tested in other Projects, you can publish it to a scoped package registry.
You can embed a new package by creating package content inside a folder under the Packages folder, following the instructions for creating your own custom package. You can also embed an existing package through the Package Manager Scripting API. For more information, see Embedding a package in the Project.
Embedded packages do not appear in the Project manifest as a dependency; however, if you embedded a version of an installed package using the Client.Embed method, your Project manifest still lists the dependency on the original installed version. In that case, the package on disk takes priority over the version of the package listed as a dependency. For example, if the Project manifest specifies a dependency on version 1.3.1 of Package X but the Project also has an embedded package with that name, the Package Manager uses the embedded package, regardless of its apparent version, instead of downloading the more recent version from the registry.
It is your responsibility to track the content of your embedded packages, and any changes you make to it. If your Unity Project is under source control, you should also add packages embedded in that Project to the same source control.