The agent would be implemented in very much the same way as agents in BlueZ or PolicyKit: - Desktop shell (or other implementation) offers a specific D-Bus service on the system bus - Agent calls out to system-wide daemon (Geoclue) to register this agent - Geoclue calls out to the agent to request authorisation This way, the agent can store authorisation for the various applications on a per-user basis ("allow gnome-settings-daemon", "disallow twitter", etc.). See the docs in Bluez for the passkey agent: http://git.kernel.org/cgit/bluetooth/bluez.git/tree/doc/agent-api.txt See also https://bugzilla.gnome.org/show_bug.cgi?id=721433
The geoclue side is already in place for this and we even have a demo agent but since agent is not yet implemented by anyone, you need to explicitly tell geoclue to require agent auth currently through a configure flag. You asked for link to docs. I'll upload new docs once I roll out a release.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.