Personally identifying information (of the programmer) in .NET Assemblies
Asked Answered
M

3

10

When going through some of my applications in the past, I have noticed that compiled into the assembly is information such as where my project is, my username (which happened to be my full name, not my online handle) in Windows, and honestly I'm not sure what else.

Now I know the primary reason of this is when compiled under Debug, as this was file locations to the source files or pdb files (can't recall which).

The question is, what other "personally identifiable" information can end up in compiled assemblies and what can be done to prevent this from ending up in the assembly?

I assume if I simply set the project to Release mode to disable debugging symbols in the compiled assembly, this would achieve my goal, however I'm still curious if anything else I am missing.

I generally have no issue with people knowing I made something, but it did kind of irk me that my full name was in my distributed assemblies without my knowledge.

Mephitis answered 11/1, 2010 at 23:16 Comment(0)
T
1

Depending on your VS setup, it's possible that you might have identifying information in the assembly information (AssemblyInfo.cs). If you publish via ClickOnce, then there is also the publish information which you can get to from the Publish tab. Both of these tags are completely configurable.

It's also possible that you have a license file for a 3rd-party product that contains identifying information, which must be distributed with the app, either as an external file or embedded resource; if so, there's probably not much you can do about it other than bring it up with the vendor.

Aside from these items, I can't think of any other reason why personal information would be compiled into an assembly. Debug information only goes in the PDB file - without that, you can't get symbols or line numbers. This applies to both debug and release mode.

Typewritten answered 11/1, 2010 at 23:24 Comment(0)
O
1

All of that information is in Visual Studio under Project/Properties/Application/Assembly Information. Most of it is optional. Just blank out what you don't want in the assembly.

On answered 11/1, 2010 at 23:20 Comment(5)
And just for Clarification, am I right in assuming directory structure of my project will not be in the assembly if in Release mode?Mephitis
AFAIK there is no directory structure stored in the actual assembly, unless you want to count those places where you have directories hardcoded, or you are reading them from an XML file, configuration strings, etc.On
BTW this dialog just modifies AssemblyInfo.cs, so you can modify this file by hand if you wish.On
If you create pdb files, the full path to the pdb is included in the assembly.Floreneflorentia
Just to clarify, the full path (possibly including your username) will be included in release mode and not only in debug mode, just as long as pdb files are generated by the compiler.Floreneflorentia
T
1

Depending on your VS setup, it's possible that you might have identifying information in the assembly information (AssemblyInfo.cs). If you publish via ClickOnce, then there is also the publish information which you can get to from the Publish tab. Both of these tags are completely configurable.

It's also possible that you have a license file for a 3rd-party product that contains identifying information, which must be distributed with the app, either as an external file or embedded resource; if so, there's probably not much you can do about it other than bring it up with the vendor.

Aside from these items, I can't think of any other reason why personal information would be compiled into an assembly. Debug information only goes in the PDB file - without that, you can't get symbols or line numbers. This applies to both debug and release mode.

Typewritten answered 11/1, 2010 at 23:24 Comment(0)
D
0

You should also take care with you XML documentation files, as they can hold "sensitive" information (as a programmer joke, or worse).

Doublereed answered 11/1, 2010 at 23:19 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.