diff --git a/content/developer/reference/backend/security.rst b/content/developer/reference/backend/security.rst
index 5daef4abb..9e6b4c4b0 100644
--- a/content/developer/reference/backend/security.rst
+++ b/content/developer/reference/backend/security.rst
@@ -418,9 +418,9 @@ the content (text).
Markup('<R&D>
Hello
') >>> escape("Foo {self.bar}
") # bad, bar is inserted before escaping >>> Markup("Foo {bar}
").format(bar=self.bar) # good, sorry no fstring +When working with translations, it is especially important to separate the HTML +from the text. The translation methods accepts a :class:`~markupsafe.Markup` +parameters and will escape the translation if it gets receives at least one. + +.. code-block:: pycon + + >>> Markup("%s
") % _("HelloBonjour <R&D>
') + >>> _("Order %s has been confirmed", Markup("%s") % order.name) + Markup('Order SO42 has been confirmed') + >>> _("Message received from %(name)s <%(email)s>", + ... name=self.name, + ... email=Markup("%s") % (self.email, self.email) + Markup('Message received from Georges <george@abitbol.example>') + + Escaping vs Sanitizing ----------------------