<div dir="ltr">Dear NetworkManager maintainers,<br><br>I'm exploring a research project whose goal is to show a dialogue when connecting to an Enterprise Wi-Fi network, but the network's certificate is unknown. The idea is that the certificate can then be trusted on a first-use basis.<br><br>To prototype this, I’ve been exploring the possibility of reusing the existing AgentManager and SecretAgent infrastructure, since it already facilitates communication between NetworkManager and external user-facing agents like nm-applet and GNOME Shell. However, as I dug deeper, I noticed that the current design is quite specialized for secrets only and adapting it for our use case would require adding new capabilities, extending the D-Bus interface, and implementing new methods on both the agent and daemon sides.<br><br>So my core question is: is it considered upstream-friendly to extend the SecretAgent system beyond secret management, to support other types of user prompts? Or would a different, dedicated interface be more acceptable for this kind of feature?<br><br>Secondly, I’ve found that the SecretAgent infrastructure is more complex than I initially expected; it touches multiple layers of NetworkManager, and adding even a small feature seems to require a lot of coordination between agents, capability negotiation, and D-Bus implementation. I’m trying to better understand how flexible the architecture is for extensions like this, and whether there are any guidelines or suggestions you’d recommend before I go too far in the wrong direction.<br><br><div>If you have any insights or even just a high-level opinion on the direction, I’d really appreciate it. Thanks for your time and for all your work on NetworkManager,  it’s been fascinating to learn from and work with.<br><br>Best regards,</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><font dir="auto" style="vertical-align:inherit"><font dir="auto" style="vertical-align:inherit">Rathan Appana </font></font><br><br></div></div></div></div>