The logic is fairly simple, but in general the changes are: when you push a file to /symbols, the symbols will be indexed and the file will be saved as .snupkg when you request a symbol from /symbols, the .snupkg will be returned instead of the .nupkg file when you delete a package, the .snupkg file will also be deleted There's of course some details to work out, but with this approach, we're not treating .snupkg files as "NuGet Packages", so they won't show up in feeds.