3d
FYI if you use the translation addon polyglot: it stores API keys and passwords in nvda.ini in cleartext. If your NVDA log level is anything above info, those values will be written to nvda.log, even if the addon was disabled or removed at the time. I have filed an issue and PR, and am sure this will be fixed shortly. But in the meantime, if you use this addon and have filed any bugs with or with any other addon, and included a copy of nvda.log, you must rotate all API keys and passwords for all of your translation services. github.com/cary-rowen/polyglot/issues/20
4
21
2
0
3d
Also I think @FreakyFwoof has a tool to help you clean this up, but I'm failing to find the link to it sadly.
1
1
0
0
User avatar
James Scholes @jscholes@dragonscave.space
3d
@fastfinge github.com/OnjLouis/NVDASync/releases/latest @FreakyFwoof
1
0
0
0
3d
@jscholes @FreakyFwoof Is that the one that allows deleting unused config sections from nvda.ini for uninstalled addons?
1
0
0
0
User avatar
James Scholes @jscholes@dragonscave.space
3d
@fastfinge Yes. @FreakyFwoof
1
0
1
0
3d
@jscholes @FreakyFwoof If you're interested, Andre, it would be pretty easy for codex or claude to add regular expressions to detect if things that look like OpenAI, ElevenLabs, and other popular kinds of API keys are in nvda.ini, and warn the user. I suspect lots of other addons do this, when they really shouldn't. Windows has an encrypted locker, like keychain on mac, that addon authors should be using.
1
0
0
0
User avatar
James Scholes @jscholes@dragonscave.space
3d
@fastfinge On one hand, I think NVDA add-on code quality is through the floor. Some add-ons don't even store things in the NVDA config to start with, and a "why do X when Y is easier?" attitude is rife.

On the other, I'd be pretty annoyed if I copied a portable copy of my NVDA to a new machine and couldn't use an add-on because it had stored encrypted secrets on another Windows machine. My knowledge that per-machine secrets are a best practice wouldn't stop me from being annoyed.

Then there's the issue of portable copies storing things persistently on the host machine if users were to configure such add-ons there.

These problems have solutions. But, see my first hand.
@FreakyFwoof
2
0
0
0
3d
@jscholes @FreakyFwoof Unfortunately, nvda.ini has all of its values logged when debug logging is turned on. So it doesn't matter if it's annoying or not. Passwords and API keys cannot go into nvda.ini. If they do, every user who files any bug report against NVDA or any NVDA addon has now leaked all of there API keys and passwords, in public, for anyone in the world to use. There's just no way around that.
2
0
0
0

User avatar
Pratik Patel @ppatel@mstdn.social
3d
@fastfinge It's one of the reasons why I only paste snippets of my log when filing issues. I'd rather not send my entire log. @jscholes @FreakyFwoof
1
0
0
0
@ppatel @jscholes @FreakyFwoof At least in the case of NVDA themselves they will close issues without a full debug log.
1
0
0
0
User avatar
Pratik Patel @ppatel@mstdn.social
3d
@fastfinge Hmm. I've never needed to post the full log, just the relevant parts. @jscholes @FreakyFwoof
1
0
0
0
@ppatel @jscholes @FreakyFwoof Recent policy changes maybe? I was told an issue I filed last week would not be acted on without a full debug log.
1
0
0
0
User avatar
Pratik Patel @ppatel@mstdn.social
3d
@fastfinge Wow. This doesn't make sense unless people are filing reports aided by AI somehow and not providing evidence. @jscholes @FreakyFwoof
1
0
0
0
@ppatel @jscholes @FreakyFwoof I know several junk pull requests using AI were filed In July. No idea about issues.
0
0
0
0
User avatar
D.Hamlin.Music @dhamlinmusic@dragonscave.space
3d
@fastfinge @jscholes @FreakyFwoof Yeah makes me wonder how the almost certainly AI generated password manager, and password generator add-ons got approved for the store.
1
0
0
0
@dhamlinmusic @jscholes @FreakyFwoof The addon store doesn’t do any addon checks other than to make sure the addon is valid and runs, and was developed by the person submitting it.
3
0
0
0
User avatar
D.Hamlin.Music @dhamlinmusic@dragonscave.space
3d
@fastfinge @jscholes @FreakyFwoof Ah, explains why it's a bloated wall of garbage and useless for the most part…
0
0
0
0
User avatar
James Scholes @jscholes@dragonscave.space
3d
@fastfinge The line of reasoning here only ends up painting NV Access in a bad light.

NV Access routinely requires full debug logs. NV Access hasn't provided a way to mark certain log content as sensitive. I've shifted secret storage in my own add-ons to a system that's more secure but incompatible with portable versions. If you don't like it, blame NV Access.

In reality, that mechanism should probably exist. They should probably be okay with manually or automatically redacted logs. Should, should, should.

In the meantime, there is a middle ground that your posts don't acknowledge: store the secrets outside of the config file so they don't get auto-logged, but still within the user data directory. It still won't be as secure as the system keychain, but it also won't result in your users complaining that your add-on is broken in a way which gives you an excuse to respond with a bunch of technical stuff they don't care about before abdicating responsibility.

@dhamlinmusic @FreakyFwoof
3
0
0
0
@jscholes @dhamlinmusic @FreakyFwoof Leaked OpenAI keys are the first thing any info stealer looks for. And all the AI providers will happily let your stolen key rack up thousands of dollars. So they can’t go on disc unencrypted.
1
0
0
0
User avatar
Andre Louis @FreakyFwoof@universeodon.com
3d
@fastfinge
Sorry I didn't respond sooner, just got back from a gig, so haven't seen any mentions for the last many hours.
@dhamlinmusic @jscholes
0
0
0
0
User avatar
Joseph Lee @joslee@mastodon.world
2d
@jscholes @fastfinge @dhamlinmusic @FreakyFwoof There were junk issues filed on NVDA repo in recent days. Also, NVDA 2026.2's log handler will let add-on authors redact secrets like passwords and API keys. Worse, I came across add-ons (mostly thanks to add-on store submission review work) that stored the author's own API key in plaintext (as part of URL access), and I told authors that they just gave web scrapers access to their private info.
0
0
0
0
User avatar
Joseph Lee @joslee@mastodon.world
2d
@jscholes @fastfinge @dhamlinmusic @FreakyFwoof Regarding debug log, I post relevant fragment(s), not the entire log. Sometimes, people claiming to have posted a "log" ends up uploading info level log. Also, whenever I require a debug log from someone, I ask them to send the log to me privately (there were instances where someone posted their full debug log on NVDA user communities, and forum admins replied with a strongly worded disapproval of that practice).
0
0
0
0
User avatar
Joseph Lee @joslee@mastodon.world
2d
@fastfinge @dhamlinmusic @jscholes @FreakyFwoof The automated add-on store submission checks looks at add-on manifest and metadata such as version format, validity of the download link, and so on. Some community members (including veteran add-on authors) have reviewed and commented on recent add-on store submissions, pointing out issues like missing readme file, coding style, copyright and license, security issues, add-on scope, to name a few.
0
0
0
0