Shield Action Buttons

I am trying to understand how much I can do with shield actions, if anything.

So at its basic, the shield action has 3 options, none, defer, and close. I believe defer is used to rebuild the shield if needed (for example, a parent allowing their child to open the app). Can this be used as a button to just straight up bypass the shield? Like if a user taps button one, it would run shield action close, if taps button two, it would bypass the shield and open the app? If so, how would one bypass since t he handler requires the shield action options?

override func handle(action: ShieldAction, for application: ApplicationToken, completionHandler: @escaping (ShieldActionResponse) -> Void) {
    switch action {
    case .primaryButtonPressed:
        completionHandler(.close)
    case .secondaryButtonPressed:
        completionHandler(.defer)
    @unknown default:
        fatalError()
    }
}