pub struct AppProfile {
pub app: String,
pub service: String,
pub methods: Vec<String>,
pub commands: CommandPolicy,
pub sensitive: bool,
}Expand description
Per-app client-side allowlist: which control methods and app commands agents may use. The service enforces its own allowlist as well; this one is the agent-facing layer on top.
Fields§
§app: String§service: StringService name under <suite>/runtime/, default control-<app>.
methods: Vec<String>§commands: CommandPolicy§sensitive: boolSensitive apps (HeardRight) expose no generic read channel.
Implementations§
Source§impl AppProfile
impl AppProfile
Sourcepub fn sensitive(app: &str, commands: &[&str]) -> Self
pub fn sensitive(app: &str, commands: &[&str]) -> Self
An app whose own data must not leave through generic channels: health
and an explicit command list only. Commands the hard rules forbid are
dropped from the list.
Sourcepub fn for_app(app: &str) -> Self
pub fn for_app(app: &str) -> Self
The built-in profile for app: HeardRight is sensitive, everything else standard.
pub fn with_methods(self, methods: &[&str]) -> Self
pub fn with_commands(self, policy: CommandPolicy) -> Self
Sourcepub fn allow_patterns(&self) -> Vec<String>
pub fn allow_patterns(&self) -> Vec<String>
Allowlist patterns (see Toolbox::allow) that grant exactly this profile.
Trait Implementations§
Source§impl Clone for AppProfile
impl Clone for AppProfile
Auto Trait Implementations§
impl Freeze for AppProfile
impl RefUnwindSafe for AppProfile
impl Send for AppProfile
impl Sync for AppProfile
impl Unpin for AppProfile
impl UnsafeUnpin for AppProfile
impl UnwindSafe for AppProfile
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more