Em diagramas de seqüência UML (Unified Modeling Language), uma condição de proteção, também chamada de restrição de interação, é uma expressão condicional Booleana que protege um operando de interação em um fragmento combinado. Uma condição de proteção contém duas expressões que designam os números mínimo e máximo de vezes que um fragmento de loop combinado é executado.
Em diagramas de seqüência, uma condição de proteção é uma condição semântica ou restrição que é definida entre colchetes em um operando de interação em um fragmento. Ao criar um fragmento combinado, uma condição de proteção é criada automaticamente. Também é possível criar manualmente uma condição de proteção em um operando de interação que não possui uma condição de proteção existente.
A condição de proteção aparece no início da interação e contém todas as informações necessárias para decidir se os rastreios devem ser executados no operando de interação. Se a condição de proteção for testada como verdadeira, os rastreios serão executados. Como a condição de proteção é opcional, a interação também é executada se nenhuma condição de proteção for especificada no operando de interação.
A figura a seguir ilustra como as condições de proteção são representadas em uma interação.