Tom,
If you don't want to expose the output parameters to the end users of your model, then you should make them as derived parameters. Derived parameters don't show up in the tool dialog when the model is run as a model tool and are also added to the TOC after the model is run.
However in model builder, it is not easy to convert an output parameter into a derived parameter. For example in your model, you are using the Copy tool which by definition has an output parameter. So in Model Builder if you make this as a Model Parameter, it becomes an output. In order to make this as derived output, you need to use a python script tool where by you have more control over what you can expose as a parameter and what are the properties of that parameter (such as derived, default values).
Hope this helps
Deelesh