data-turbo-confirm uses the browser confirm dialog, which is functional but not pretty. For a more polished app, I replace it with a Stimulus controller that intercepts clicks, shows a custom modal, and only proceeds if the user confirms. Turbo makes this easy because links/buttons remain normal; you’re just gating the interaction. I keep the controller generic: it reads the message from a data attribute and uses a single global modal element. If the user confirms, I trigger the original click programmatically or submit the associated form. This approach gives better UX and allows richer copy (“This can’t be undone”). It’s still accessible if you implement focus trap and keyboard actions. I reach for this pattern sparingly—only for truly destructive actions.