Feature enhancement: a program or function that will anonymize a gnucash data file (xml, sqlite, etc.). This allows users to provide sample files to the gnucash team with issues yet not compromise their privacy. I needed this again today as I want to provide my gnucash data file that is experiencing errant behavior, yet I am not willing to provide my data unchanged so to protect my privacy. This is amplified due to GnuCash being open-source. Its bug management system is open to everyone on the planet. Therefore, all uploaded data files too. The items to scrub for private information can be extensive. For example: - account names, descriptions, notes, etc. - transaction fields; potentially also transaction amounts - import maps and other "remembered" things Anonymizing may make some errant behavior more difficult to isolate. For example: - when transaction amounts are changed/anonymized, then errant math engine behavior may not be the same - when account names are changed, identifying the account/transaction with the errant behavior may be difficult
Something related already exists at: https://github.com/Gnucash/gnucash/blob/maint/util/obfuscate.pl And mentioned at: https://wiki.gnucash.org/wiki/Bugzilla https://wiki.gnucash.org/wiki/ObfuscateScript Closing for now.
But not distributed, even in the tarballs.
What specifically do you wish to occur? Please describe your ask or problem you want to solve. My original asks are all satisfied for now, therefore I closed. obfuscate.pl is available today and distributed via HTTPS to the full internet. It is an optional download. Are you asking for obfuscate.pl to be part of the standard distribution on all platforms and leverage Perl, Strawberry, etc.? Adding test cases? Or re-write in another language? Or what? * I do see a need for better documentation for obfuscate.pl and how to use/setup. For example, not everyone has perl installed. Therefore, there is needed doc for Windows, mac, linux, etc. We can likely leverage the doc around Quotes setup as it also needs perl. Docs...is a separate issue in an separate bugzilla product. * Integrating an anon function into core gnucash UI is a larger/separate work item. Likely part of a "submit an issue/data/logs/telemetry" workflow. * Bug/Incomplete anonymization is a separate issue. * Having an anonymization program that could be installed by a package manager is somewhat useful over better doc. The only improvement will be in the automated package mgr download and installation.
I'm not asking you to do anything; rather the reverse: You opened an enhancement request that asks the GnuCash team to provide a feature. Obfuscate.pl might be sufficient to meet your requirements, but you're not the only person to ask for something like this. Obfuscate.pl has a number of problems. It relies on perl, which must be separately installed on Windows. It relies on the existence of a dictionary file at either /usr/share/dict/american-english or /usr/share/dict/words, paths that are nonsensical on Windows. It works only on uncompressed XML files. Yes, it's available, but not very. It should be in the distribution tarballs and installed somewhere (prefix/usr/share/gnucash?) and the MacOS and Windows bundles instead of at an obscure URL in the repository mirror. That would be a trivial change but doesn't answer the other problems. Documentation in the Wiki is probably sufficient. Most of those problems could be fixed by inserting similar behavior into the save routines in the backends and providing a File>Export>Obfuscated menu item. Obviously that would require at least a mention in the Online Help Manual.
That's clearer. Thank you. My intention is to have enough info written in a bug to be actionable by someone (not necessarily me or you). Two thoughts for future reference: I also thought about a file/save approach. Some of that workflow concerns me with respect to this feature as a singleton, or if this is one of many log/telemetry/feedback mechanisms. If the latter, then I would prefer them coordinated rather than spread across menus/dialogs. And to me, user privacy becomes the most critical topic. Paramount. If the app starts to do the obfuscation/collect itself, international law like GDPR may come into play for the handling of that user data.