h2zero / NimBLE-Arduino

A fork of the NimBLE library structured for compilation with Arduino, for use with ESP32, nRF5x.
https://h2zero.github.io/NimBLE-Arduino/
Apache License 2.0
674 stars 138 forks source link

Data privacy #192

Open DrSnuggles opened 3 years ago

DrSnuggles commented 3 years ago

Hi,

and first of all i have to thank you for this nice library. Without it my PIN secured device had no client to talk to.

I found that the path to the included lib is found in binary files. This also includes the name of my user profile. Not a big deal for me but have to inform my co-workers about that because of GDPR :( Same sketch compiled on same machine but with different accounts have different binaries. I use ArduinoIDE and compile for ESP32. All other libs i use do not leave such a trace.

Reproduce: Compile client example and open .bin file in editor. Look for C:\Users\

h2zero commented 3 years ago

Hi @DrSnuggles, glad it's working for your needs.

Very interesting that the file path is placed in the bin file, I can confirm the same result here. Unfortunately I do not know why this occurs or what can be done about it. I will look into it for sure.

h2zero commented 3 years ago

Did a quick look at this and I think it occurs because of various assert() calls for stack tracing. I looked at my IDF compiled bin files and the same occurs there (many more actually, from non-ble core files).

DrSnuggles commented 3 years ago

Thanks for looking into.

Did i just had luck with my other includes? I couldn't believe that and tried setting core debug level in ArduinoIDE to verbose. Thats it! Now most/all libs write the path into binary. SPIFFS just to mention an example. Setting it back to none and only NimBLE was left.

h2zero commented 3 years ago

That's curious indeed, I'll do some experiments and see what can be done about this.

h2zero commented 3 years ago

Spent a little time to see what can be done about this and the conclusion is that all of the assert calls need to be changed or removed, including the ones in the NimBLE core files. I'll look more into this to see if it can be done reasonably.