I don't know how granular we'd want to get with selection of specific data.
I can see a "minimal" vs. "share lots of non-personal system info"
split,
but what's the user benefit of, say, chosing to share everything but
graphics card model? Or editing that graphics card model to be something
else?
Sometimes people swap out components, or disable components. Hwinfo
package mentioned earlier seems useful, perhaps this could be filtered.
Could this be coupled with some simple optional hardware tests? This
would allow checking that the system is functioning correctly.