Access plugins allow context based access control to pages.

        'title' => Title of the plugin
        'description' => Description of the plugin
        'callback' => callback to see if there is access is available. params: $conf, $contexts, $account
        'required context' => zero or more required contexts for this access plugin
        'default' => an array of defaults or a callback giving defaults
        'settings form' => settings form. params: &$form, &$form_state, $conf
        settings form validate
        settings form submit

Warning: your settings array will be stored in the meny system to reduce loads, so be trim.