we use this local extender to do that:
<?php
namespace App\Extend;
use Flarum\Extend\ExtenderInterface;
use Flarum\Extension\Extension;
use Flarum\Settings\Event\Deserializing;
use Illuminate\Contracts\Container\Container;
use Illuminate\Contracts\Events\Dispatcher;
class HideSettings implements ExtenderInterface
{
protected $keys = [];
public function __construct(array $keys)
{
$this->keys = $keys;
}
public function extend(Container $container, Extension $extension = null)
{
/** @var Dispatcher $events */
$events = $container->make(Dispatcher::class);
$events->listen(Deserializing::class, function (Deserializing $event) {
foreach ($this->keys as $key) {
if (isset($event->settings[$key])) {
$event->settings[$key] = str_repeat("•", 30);
}
}
});
}
}
See https://github.com/luceos/flarum-extender-examples on how to set that up.