Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tool for getting data and anonymize it #94

Open
DurgNomis-drol opened this issue Oct 16, 2021 · 2 comments
Open

Add tool for getting data and anonymize it #94

DurgNomis-drol opened this issue Oct 16, 2021 · 2 comments

Comments

@DurgNomis-drol
Copy link
Owner

@DurgNomis-drol In the original description of this PR, you are referring to that more testing is needed to get all the different information values from the MyT endpoints, for all different car models.

I do observe that this will be a common problem, not only for HVAC but also for other sensors and engine types.
This may be off topic for this PR, but shouldn't we start thinking about a separate function (or tool) that just requests the data and then anonimizes the data (stripping vin, user and location data), and makes it possible for the user to share it with us?

Originally posted by @joro75 in #93 (comment)

@joro75
Copy link
Collaborator

joro75 commented Feb 19, 2022

Note to self:
We could create a small python program that accepts a username and a password argument on the command line.
Then connects to the MyT servers with those credentials, and retrieves all the information that can be retrieved for all registered vehicles. The information of each vehicle is then stored in a single .json file, including:

  • Vehicle information (including vin, location, dashboard, odometer, doors, lights, windows, etc...)
  • Statistical record of last 7 days
  • Statistical record of last week
  • Statistical record of last month
  • Statistical record of current year

The VIN, location, alias, license plate, etc... should be randomised to prevent a security or privacy leak.
The exported data should be as close as to what is retrieved from the MyT servers, and not the interpration of our model-translation. By exporting the 'raw_json', we can use the dumped .json file to detect differences between cars and responses from the MyT servers.

The printout to the terminal can be reduced to a minimum, only when an error/exception occurs and the name of the file (or files when multiple files are present in the same account) to which the data is written.

This small program can at the same time also be a good example program on how the mytoyota library can be used to retrieve the information. We can thus also include it in an 'examples' directory.

Another advantage of this small program is that if someone else wants to use the information from the MyT servers, he can call this program from the commandline, and then load the .json file in his own program.

For this benefit some additional commandline arguments could be helpful, like:

  • do NOT randomise personal/privacy information (a specific opt-in to report sensitive information) (default: no)
  • identifier of the vehicle alias/vin/license-plate that should be exported (default: * )
  • filename of the .json file to create (default: 'vin', which could be randomized!!)
  • directory in which to create the .json files (default: . )

And the program returns 0 on success, and 1 if an error/exception has occured.

@CM000n
Copy link
Collaborator

CM000n commented Jan 12, 2024

I think it would be cool to have a central log management, as suggested in this PR: #296

⚠️ BUT: If we want to look at the response from the endpoints at any point, we will never! be able to intercept all potentially sensitive PII data because we don't have the endpoints under control.
It is therefore always the responsibility of the user to check the log files accordingly before sharing them in these cases.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants