Log file anonymizer

Log files contain lots of information regarding a persons location and activities that they may want to remain private. How about a function in Mission Planner that anonymises the data in the log file for publication (say for posting on a forum when troubleshooting)? Adding a random offset to location data and times would be a good option that would preserve data for analytical purposes but remove information that may identify the person who published it.

Take the .LOG file( It’s easier to use) andd remove or offset all the location data (GPS) etc… A small script can achieve that quite easily I believe.

Or, maybe just don’t fly illegally ?

Privacy isn’t just for criminals.

2 Likes

Andre-K, I’m sure that the facility I’m recommending would be used as you suggest however I operate rovers and have tested various functionalities I’m working on at a number of locations that are commercially sensitive (with full permission). At times I have not shared log files when diagnosing possible problems with the Rover.code because of this. It is not a big issue for me and as pointed out, I could write a script myself but I thought that others would benefit from having the facility integrated in their GCS. There is a good bit of anti-drone sentiment out there and a ready source of ‘home’ coordinates might well be miss used by someone with less than goodly intention…

1 Like

if your happy to help me test something, I do have code to do this. the issue is there are a posiblity a new message added into the future could not be filtered correctly.

Hi Michael,

Happy to help. With regard to future additions perhaps we could suggest a pseudo standard where fields are flagged using a prefix or suffix in the PARAM data? Or with a bit more effort, allow the user to flag the fields prior to generating the ‘anonymized’ version, or both… There must be some straight forward way to ensure that all sensitive data is masked?

to give you an idea.
this is the list for a tlog

typeof(MAVLink.mavlink_fence_point_t),
typeof(MAVLink.mavlink_simstate_t),
typeof(MAVLink.mavlink_rally_point_t),
typeof(MAVLink.mavlink_ahrs2_t),
typeof(MAVLink.mavlink_camera_feedback_t),
typeof(MAVLink.mavlink_ahrs3_t),
typeof(MAVLink.mavlink_deepstall_t),
typeof(MAVLink.mavlink_gps_raw_int_t),
typeof(MAVLink.mavlink_global_position_int_t),
typeof(MAVLink.mavlink_set_gps_global_origin_t),
typeof(MAVLink.mavlink_gps_global_origin_t),
typeof(MAVLink.mavlink_global_position_int_cov_t),
typeof(MAVLink.mavlink_set_position_target_global_int_t),
typeof(MAVLink.mavlink_hil_state_t),
typeof(MAVLink.mavlink_sim_state_t),
typeof(MAVLink.mavlink_hil_gps_t),
typeof(MAVLink.mavlink_hil_state_quaternion_t),
typeof(MAVLink.mavlink_gps2_raw_t),
typeof(MAVLink.mavlink_terrain_request_t),
typeof(MAVLink.mavlink_terrain_check_t),
typeof(MAVLink.mavlink_terrain_report_t),
typeof(MAVLink.mavlink_follow_target_t),
typeof(MAVLink.mavlink_gps_input_t),
typeof(MAVLink.mavlink_high_latency_t),
typeof(MAVLink.mavlink_home_position_t),
typeof(MAVLink.mavlink_set_home_position_t),
typeof(MAVLink.mavlink_adsb_vehicle_t),
typeof(MAVLink.mavlink_camera_image_captured_t),
typeof(MAVLink.mavlink_uavionix_adsb_out_dynamic_t),
typeof(MAVLink.mavlink_global_position_int_t),
typeof(MAVLink.mavlink_set_home_position_t),
typeof(MAVLink.mavlink_home_position_t),
typeof(MAVLink.mavlink_set_position_target_global_int_t),
//typeof(MAVLink.mavlink_local_position_ned_t),
typeof(MAVLink.mavlink_command_long_t),
typeof(MAVLink.mavlink_mission_item_t),
typeof(MAVLink.mavlink_mission_item_int_t)

in the latest beta mp
in the control-f screen
there is a anon log button.
give that a try.

4 Likes

Hi Michael,

I need this functionality to get some help with tuning on forums, and cannot share the location data due to legitimate sensitivities. I tried the anon log function but the log it produced still contains location data including flight path and waypoints. Have I misunderstood the purpose of the tool?

Many thanks,

David

It should move the flight path. Not remove it. Ie check the coords of the new log. They should be at a random location

Thanks, unfortunately the locations look to be unchanged, either for flight path or waypoints!

which message was the same if you manually inspect the log? ill try resolve this issue

I can’t see any differences in any AHR2, GPS, POS, TERR, CMD, ORGN lines, all of which contain location data.

I’ve tried using the .bin and the .log as the source, neither makes the necessary changes in the output.

The only differences I can see in the files *.log and *anon.log are to messages EV and ERR (text added to end of line for both) and MSG (colons to commas)

This is MP 1.3.74 and log is from Arducopter 4.0.3.

I second this issue. The GPS(and GPS2).lat and .lng are both unchanged by the anon log feature.

@Michael_Oborne I sent in a PR to fix this, https://github.com/ArduPilot/MissionPlanner/pull/2502

2 Likes

Thanks for the work on this. I’ve tried the beta version of Mission Planner, and I think it is now randomly shifting the latitude as intended, but I don’t think it is changing the longitude.

yes thats correct, it only shifted on one axis.

Is that intended functionality? From a privacy point of view it would be better to shift both…

ive just pushed a new beta that moves the longitude as well

3 Likes