Search.setIndex({"alltitles": {"Allow arbitrary styling": [[3, "allow-arbitrary-styling"]], "Allowed Attributes (attributes)": [[1, "allowed-attributes-attributes"]], "Allowed protocols (protocols)": [[1, "allowed-protocols-protocols"]], "Allowed tags (tags)": [[1, "allowed-tags-tags"]], "Altering Attributes": [[5, "altering-attributes"]], "Always take a allowed-list-based approach": [[3, "always-take-a-allowed-list-based-approach"]], "As a dict": [[1, "as-a-dict"]], "As a list": [[1, "as-a-list"]], "Basic use": [[4, "basic-use"]], "Bleach": [[4, null]], "Bleach changes": [[0, null]], "Bleach development": [[2, null]], "Bleach vs html5lib": [[3, "bleach-vs-html5lib"]], "Callbacks for adjusting attributes (callbacks)": [[5, "callbacks-for-adjusting-attributes-callbacks"]], "Clean up after trusted users": [[3, "clean-up-after-trusted-users"]], "Code of Conduct": [[4, "code-of-conduct"]], "Code of conduct": [[2, "code-of-conduct"]], "Contents": [[3, "contents"], [4, "contents"]], "Different allow lists": [[6, "different-allow-lists"]], "Docs": [[2, "docs"]], "Escaping differences": [[6, "escaping-differences"]], "Goals": [[3, "goals"]], "Goals of Bleach": [[3, null]], "Indices and tables": [[4, "indices-and-tables"]], "Install for development": [[2, "install-for-development"]], "Installing Bleach": [[4, "installing-bleach"]], "Linkifying email addresses (parse_email)": [[5, "linkifying-email-addresses-parse-email"]], "Linkifying text fragments": [[5, null]], "Main goal is to sanitize input of malicious content": [[3, "main-goal-is-to-sanitize-input-of-malicious-content"]], "Make malicious content look pretty or sane": [[3, "make-malicious-content-look-pretty-or-sane"]], "Migrating from the html5lib sanitizer": [[6, null]], "Migration path": [[6, "migration-path"]], "Non-Goals": [[3, "non-goals"]], "Preventing Links": [[5, "preventing-links"]], "Protect against CSS-based XSS attacks in legacy browsers": [[3, "protect-against-css-based-xss-attacks-in-legacy-browsers"]], "Protect against privacy, cross site, or HTTP leaks": [[3, "protect-against-privacy-cross-site-or-http-leaks"]], "Release process": [[2, "release-process"]], "Remove all HTML or transforming content for some non-web-page purpose": [[3, "remove-all-html-or-transforming-content-for-some-non-web-page-purpose"]], "Removing Attributes": [[5, "removing-attributes"]], "Removing Links": [[5, "removing-links"]], "Reporting Bugs": [[2, "reporting-bugs"], [4, "reporting-bugs"]], "Reporting security bugs": [[2, "reporting-security-bugs"]], "Safely create links": [[3, "safely-create-links"]], "Sanitize complete HTML documents": [[3, "sanitize-complete-html-documents"]], "Sanitize for use in HTML attributes, CSS, JSON, xhtml, SVG, or other contexts": [[3, "sanitize-for-use-in-html-attributes-css-json-xhtml-svg-or-other-contexts"]], "Sanitizing CSS": [[1, "sanitizing-css"]], "Sanitizing text fragments": [[1, null]], "Security": [[4, "security"]], "Setting Attributes": [[5, "setting-attributes"]], "Skipping links in specified tag blocks (skip_tags)": [[5, "skipping-links-in-specified-tag-blocks-skip-tags"]], "Stripping comments (strip_comments)": [[1, "stripping-comments-strip-comments"]], "Stripping markup (strip)": [[1, "stripping-markup-strip"]], "Testing": [[2, "testing"]], "Upgrading Bleach": [[4, "upgrading-bleach"]], "Usage with Javascript frameworks and template languages": [[3, "usage-with-javascript-frameworks-and-template-languages"]], "Using bleach.linkifier.Linker": [[5, "using-bleach-linkifier-linker"]], "Using bleach.linkifier.LinkifyFilter": [[5, "using-bleach-linkifier-linkifyfilter"]], "Using bleach.sanitizer.BleachSanitizerFilter": [[1, "using-bleach-sanitizer-bleachsanitizerfilter"]], "Using bleach.sanitizer.Cleaner": [[1, "using-bleach-sanitizer-cleaner"]], "Using functions": [[1, "using-functions"]], "Version 1.0.1 (April 12, 2011)": [[0, "version-1-0-1-april-12-2011"]], "Version 1.0.2 (June 6, 2011)": [[0, "version-1-0-2-june-6-2011"]], "Version 1.0.3 (June 14, 2011)": [[0, "version-1-0-3-june-14-2011"]], "Version 1.0.4 (September 2, 2011)": [[0, "version-1-0-4-september-2-2011"]], "Version 1.1.0 (October 24, 2011)": [[0, "version-1-1-0-october-24-2011"]], "Version 1.1.1 (February 17, 2012)": [[0, "version-1-1-1-february-17-2012"]], "Version 1.1.2 (June 1, 2012)": [[0, "version-1-1-2-june-1-2012"]], "Version 1.1.3 (July 10, 2012)": [[0, "version-1-1-3-july-10-2012"]], "Version 1.1.4": [[0, "version-1-1-4"]], "Version 1.1.5": [[0, "version-1-1-5"]], "Version 1.2 (January 28, 2013)": [[0, "version-1-2-january-28-2013"]], "Version 1.2.1 (February 19, 2013)": [[0, "version-1-2-1-february-19-2013"]], "Version 1.2.2 (May 18, 2013)": [[0, "version-1-2-2-may-18-2013"]], "Version 1.3": [[0, "version-1-3"]], "Version 1.4 (January 12, 2014)": [[0, "version-1-4-january-12-2014"]], "Version 1.4.1 (December 15, 2014)": [[0, "version-1-4-1-december-15-2014"]], "Version 1.4.2 (September 11, 2015)": [[0, "version-1-4-2-september-11-2015"]], "Version 1.4.3 (May 23rd, 2016)": [[0, "version-1-4-3-may-23rd-2016"]], "Version 1.5 (November 4th, 2016)": [[0, "version-1-5-november-4th-2016"]], "Version 2.0 (March 8th, 2017)": [[0, "version-2-0-march-8th-2017"]], "Version 2.1 (September 28th, 2017)": [[0, "version-2-1-september-28th-2017"]], "Version 2.1.1 (October 2nd, 2017)": [[0, "version-2-1-1-october-2nd-2017"]], "Version 2.1.2 (December 7th, 2017)": [[0, "version-2-1-2-december-7th-2017"]], "Version 2.1.3 (March 5th, 2018)": [[0, "version-2-1-3-march-5th-2018"]], "Version 2.1.4 (August 16th, 2018)": [[0, "version-2-1-4-august-16th-2018"]], "Version 3.0.0 (October 3rd, 2018)": [[0, "version-3-0-0-october-3rd-2018"]], "Version 3.0.1 (October 9th, 2018)": [[0, "version-3-0-1-october-9th-2018"]], "Version 3.0.2 (October 11th, 2018)": [[0, "version-3-0-2-october-11th-2018"]], "Version 3.1.0 (January 9th, 2019)": [[0, "version-3-1-0-january-9th-2019"]], "Version 3.1.1 (February 13th, 2020)": [[0, "version-3-1-1-february-13th-2020"]], "Version 3.1.2 (March 11th, 2020)": [[0, "version-3-1-2-march-11th-2020"]], "Version 3.1.3 (March 17th, 2020)": [[0, "version-3-1-3-march-17th-2020"]], "Version 3.1.4 (March 24th, 2020)": [[0, "version-3-1-4-march-24th-2020"]], "Version 3.1.5 (April 29th, 2020)": [[0, "version-3-1-5-april-29th-2020"]], "Version 3.2.0 (September 16th, 2020)": [[0, "version-3-2-0-september-16th-2020"]], "Version 3.2.1 (September 18th, 2020)": [[0, "version-3-2-1-september-18th-2020"]], "Version 3.2.2 (January 20th, 2021)": [[0, "version-3-2-2-january-20th-2021"]], "Version 3.2.3 (January 26th, 2021)": [[0, "version-3-2-3-january-26th-2021"]], "Version 3.3.0 (February 1st, 2021)": [[0, "version-3-3-0-february-1st-2021"]], "Version 3.3.1 (July 14th, 2021)": [[0, "version-3-3-1-july-14th-2021"]], "Version 4.0.0 (August 3rd, 2021)": [[0, "version-4-0-0-august-3rd-2021"]], "Version 4.1.0 (August 25th, 2021)": [[0, "version-4-1-0-august-25th-2021"]], "Version 5.0.0 (April 7th, 2022)": [[0, "version-5-0-0-april-7th-2022"]], "Version 5.0.1 (June 27th, 2022)": [[0, "version-5-0-1-june-27th-2022"]], "Version 6.0.0 (January 23rd, 2023)": [[0, "version-6-0-0-january-23rd-2023"]], "Version 6.1.0 (October 6th, 2023)": [[0, "version-6-1-0-october-6th-2023"]], "Version 6.2.0 (October 29th, 2024)": [[0, "version-6-2-0-october-29th-2024"]], "html5lib Filters (filters)": [[1, "html5lib-filters-filters"]]}, "docnames": ["changes", "clean", "dev", "goals", "index", "linkify", "migrating"], "envversion": {"sphinx": 62, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["changes.rst", "clean.rst", "dev.rst", "goals.rst", "index.rst", "linkify.rst", "migrating.rst"], "indexentries": {"allowed_attributes (in module bleach.sanitizer)": [[1, "bleach.sanitizer.ALLOWED_ATTRIBUTES", false]], "allowed_protocols (in module bleach.sanitizer)": [[1, "bleach.sanitizer.ALLOWED_PROTOCOLS", false]], "allowed_tags (in module bleach.sanitizer)": [[1, "bleach.sanitizer.ALLOWED_TAGS", false]], "bleachsanitizerfilter (class in bleach.sanitizer)": [[1, "bleach.sanitizer.BleachSanitizerFilter", false]], "clean() (bleach.sanitizer.cleaner method)": [[1, "bleach.sanitizer.Cleaner.clean", false]], "clean() (in module bleach)": [[1, "bleach.clean", false]], "cleaner (class in bleach.sanitizer)": [[1, "bleach.sanitizer.Cleaner", false]], "default_callbacks (in module bleach.linkifier)": [[5, "bleach.linkifier.DEFAULT_CALLBACKS", false]], "linker (class in bleach.linkifier)": [[5, "bleach.linkifier.Linker", false]], "linkify() (bleach.linkifier.linker method)": [[5, "bleach.linkifier.Linker.linkify", false]], "linkify() (in module bleach)": [[5, "bleach.linkify", false]], "linkifyfilter (class in bleach.linkifier)": [[5, "bleach.linkifier.LinkifyFilter", false]]}, "objects": {"bleach": [[1, 0, 1, "", "clean"], [5, 0, 1, "", "linkify"]], "bleach.linkifier": [[5, 1, 1, "", "DEFAULT_CALLBACKS"], [5, 2, 1, "", "Linker"], [5, 2, 1, "", "LinkifyFilter"]], "bleach.linkifier.Linker": [[5, 3, 1, "", "linkify"]], "bleach.sanitizer": [[1, 1, 1, "", "ALLOWED_ATTRIBUTES"], [1, 1, 1, "", "ALLOWED_PROTOCOLS"], [1, 1, 1, "", "ALLOWED_TAGS"], [1, 2, 1, "", "BleachSanitizerFilter"], [1, 2, 1, "", "Cleaner"]], "bleach.sanitizer.Cleaner": [[1, 3, 1, "", "clean"]]}, "objnames": {"0": ["py", "function", "Python function"], "1": ["py", "data", "Python data"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"]}, "objtypes": {"0": "py:function", "1": "py:data", "2": "py:class", "3": "py:method"}, "terms": {"": [0, 1, 2, 3, 4, 5, 6], "0": [1, 2, 4, 5], "01": 4, "0b10": 0, "0b8": 0, "0b9": 0, "1": [4, 6], "10": 4, "11": 4, "11th": 4, "12": 4, "124": 0, "13": 0, "132": 0, "136": 0, "13th": 4, "14": 4, "143": 0, "1442745": 0, "146": 0, "149": 0, "14th": 4, "15": 4, "161": 0, "1615315": 0, "1621692": 0, "1623633": 0, "16th": 4, "17": 4, "176": 0, "17th": 4, "18": 4, "18th": 4, "19": 4, "195": 0, "1st": 4, "2": [1, 2, 4, 5], "2011": 4, "2012": 4, "20120731": 2, "2013": 4, "2014": 4, "2015": 4, "2016": 4, "2017": 4, "2018": 4, "2019": 4, "2020": 4, "2021": 4, "2022": 4, "2023": 4, "2024": 4, "204": 0, "206": 0, "207": 0, "20th": 4, "21": 0, "219": 0, "22": [0, 5], "224": 0, "23": [0, 4], "230": 0, "23980": 0, "23rd": 4, "24": 4, "24th": 4, "25": 5, "25th": 4, "268": 0, "26th": 4, "273": 0, "278": 0, "279": 0, "27th": 4, "28": 4, "280": 0, "28th": 4, "292": 0, "298": 0, "29th": 4, "2nd": 4, "3": 4, "30": 0, "300": 0, "303": 0, "307": 0, "31": 0, "32": 0, "324": 0, "328": 0, "33": 0, "337": 0, "34": 6, "357": 0, "359": 0, "36": 0, "369": 0, "374": 0, "377": 0, "38": 0, "386": 0, "39": 6, "392": 0, "398": 0, "3a": 5, "3rd": 4, "4": [2, 4], "400": 0, "409": 0, "41": 0, "416": 0, "419": 0, "422": 0, "426": 0, "431": 0, "436": 0, "442": 0, "45": 0, "47": 0, "48": 0, "4th": 4, "5": [1, 4], "500": 1, "501": 0, "504": 0, "507": 0, "520": 0, "536": 0, "544": 0, "557": 0, "566": 0, "595": 0, "5th": 4, "6": 4, "61": 0, "618": 0, "620": 0, "629": 0, "633": 0, "649": 0, "659": 0, "660": 0, "662": 0, "675": 0, "676": 0, "688": 0, "698": 4, "6th": 4, "7": 0, "702": 0, "704": 0, "705": 0, "709": 0, "710": 0, "728": 0, "732": 0, "736": 0, "737": 0, "7th": 4, "8": 0, "80aaksdi3bpu": 5, "8743": 0, "8th": 4, "9": 0, "95": 0, "97": 0, "999": 0, "9999": 0, "99999": 0, "9999999": 0, "99999999": 0, "9th": 4, "A": [0, 3, 5], "AT": [2, 4], "And": [4, 5], "As": 0, "By": [1, 5, 6], "For": [0, 1, 2, 3, 4, 5, 6], "If": [0, 1, 2, 3, 4, 5, 6], "In": [1, 3, 5], "It": [0, 1, 5, 6], "Or": 5, "That": [2, 5], "The": [0, 1, 3, 4, 5, 6], "There": [0, 3], "These": [0, 3, 5], "To": [1, 2], "__init__": 2, "__iter__": 1, "__releasedate__": 2, "__version__": [0, 2], "_blank": 5, "_render": 0, "_text": 5, "abbr": [0, 1], "abc": 5, "abl": [0, 3], "about": [0, 3, 5], "accept": [0, 1, 5], "accord": 1, "acronym": 1, "across": 0, "action": [0, 2], "activ": 2, "ad": [0, 1, 5], "adapt": 1, "add": [0, 1, 3, 5], "addit": [0, 1, 2, 5], "address": [0, 2, 3, 4], "adjust": [0, 4], "administr": 4, "advisori": 0, "af": 0, "affect": 0, "after": [0, 1, 2, 4], "afterward": 3, "aim": 0, "alex": 0, "alexandr": 0, "algorithm": [1, 3], "all": [0, 2, 5], "all_the_yucky_th": 1, "allevi": 0, "allow": [0, 4, 5], "allow_h": 1, "allow_src": 1, "allowed_attr": 5, "allowed_attribut": [1, 3, 6], "allowed_css_properti": [1, 6], "allowed_el": 6, "allowed_protocol": [0, 1, 3], "allowed_svg_properti": 1, "allowed_tag": 1, "alon": 6, "alphabet": 3, "alreadi": [4, 5, 6], "also": [0, 1, 3, 4, 5], "alt": 1, "alter": 3, "alwai": [0, 5], "ambigu": 0, "amongst": 0, "amp": 0, "ampersand": 0, "an": [0, 1, 2, 3, 4, 5, 6], "anchor": 1, "andrea": 0, "angular": [1, 3], "ani": [1, 2, 3, 4, 5], "annoi": 3, "anoth": [0, 5], "anymor": 0, "anyon": 0, "anyth": 3, "anywher": [1, 5], "apach": [0, 4], "api": [0, 2, 3, 6], "appli": [1, 4], "applic": 3, "approach": 5, "appropri": [1, 3], "april": 4, "ar": [0, 1, 2, 3, 4, 5, 6], "aren": [0, 1], "arg": 0, "argument": [0, 1, 5, 6], "arrai": 0, "ascii": 0, "askoretskli": 0, "aspect": 1, "assert": 0, "atrul": 1, "attack": 5, "attempt": 5, "attr": [0, 1, 5], "attr_val_is_uri": 1, "attribut": [0, 4, 6], "august": 4, "author": 3, "autofuzz": 0, "avail": [0, 3, 4], "b": [1, 5, 6], "back": [1, 5], "background": 5, "backspac": 0, "backward": [0, 4], "bad": [5, 6], "bare": 0, "base": [0, 4], "becaus": [0, 3, 4, 5, 6], "becom": 6, "been": 0, "befor": [0, 3, 4], "behav": 5, "behavior": [0, 1], "behaviour": 6, "being": [0, 1, 3, 5], "believ": [2, 4], "benjamin": 0, "best": [5, 6], "better": 1, "better_text": 1, "beyond": 3, "binari": 2, "bind": 3, "bio": [1, 3], "birch": 0, "blah": 1, "bleach": 6, "bleachhtmlpars": 0, "bleachhtmlseri": 0, "bleachhtmltoken": 0, "bleachsanitizerfilt": [0, 4], "block": [0, 4], "blockquot": 1, "blog": [2, 3], "bn": 5, "bodi": [1, 3], "bold": [1, 5], "bool": [1, 5], "boolean": 5, "bope": 0, "both": 5, "bouncer": 5, "bracket": 0, "break": 0, "broken": 3, "browser": [0, 4], "bug": 0, "bugzilla": 0, "build": [2, 5], "build_email_r": 5, "build_url_r": 5, "built": 3, "bump": [0, 2], "bunch": 0, "bust": 0, "c": 5, "call": 0, "callabl": [0, 1], "callback": [0, 4], "callto": 0, "can": [0, 1, 3, 4, 5], "cannot": 4, "cap": 0, "care": 5, "case": [0, 3, 4, 5], "caus": 2, "cctld": 5, "cd": 2, "ce": 5, "certain": [0, 5], "cgi": 0, "chad": 0, "chang": [1, 2, 3, 4, 5], "chapter": [3, 6], "charact": [0, 1], "check": [0, 2, 3, 5], "check_protocol": 0, "checkout": 2, "cheesyfeet": 0, "child": 0, "ci": [0, 2], "claim": 3, "clarifi": 0, "class": [0, 1, 5], "clean": [0, 1, 4, 5, 6], "cleaner": [0, 4, 5], "clone": 2, "code": [0, 1, 5, 6], "code_of_conduct": 4, "cohol": 0, "color": [1, 5, 6], "com": [0, 1, 2, 4, 5, 6], "come": 5, "comma": 0, "comment": [0, 2, 3, 4], "commit": 2, "compar": 0, "comparison": 0, "compat": 0, "complet": [0, 5], "complex": 5, "compon": 3, "concaten": 0, "conduct": 0, "configur": [0, 1, 3, 5], "confirm": 0, "consequ": 1, "conserv": 1, "consid": [0, 1, 5], "consider": 0, "consist": 0, "construct": 0, "constructor": 0, "contain": [0, 1, 3, 4, 5], "content": [0, 1, 2, 5], "context": [1, 5, 6], "contributor": 2, "control": [0, 1, 3, 5], "convert": [0, 5], "convert_ent": 0, "copi": [0, 2, 6], "correct": 2, "correctli": 0, "correspond": 6, "could": [0, 1, 5], "cox": 0, "crash": 0, "crate": 5, "crazi": 5, "creat": [1, 2, 5], "creation": 3, "css": [0, 4, 6], "css_sanit": [0, 1, 6], "csssanit": [1, 6], "curren": 0, "current": 0, "custom": [0, 5], "cute": 1, "cve": [0, 4], "d": [0, 5], "danger": 3, "dash": 0, "data": [0, 1, 3], "date": 4, "dave": 0, "deal": 4, "decemb": 4, "decept": 5, "dedic": 5, "def": [0, 1, 5], "default": [0, 1, 3, 5, 6], "default_callback": 5, "defsen": 0, "delinkifi": 0, "denial": 0, "depdennci": 0, "depend": [0, 1], "dependabot": 0, "deprec": [0, 4, 6], "deprecationwarn": 0, "descript": 3, "design": [1, 3], "destin": 5, "detail": [0, 1, 2, 3, 4], "detect": 0, "dev": [0, 2], "develop": [0, 4], "dict": 5, "did": 0, "differ": [0, 4, 5], "direct": 3, "dirti": 1, "disabl": 1, "disallow": [1, 3], "disappear": 6, "disclosur": [2, 4], "displai": 1, "dist": 2, "distribut": 2, "div": [5, 6], "django": [0, 1, 3, 4], "do": [0, 1, 3, 4, 5], "doc": [0, 4], "doctest": [0, 2], "document": [0, 1, 4, 5], "doe": [1, 3, 5], "doesn": [0, 3], "domain": [0, 3, 5], "don": [0, 3, 4, 5, 6], "dont_linkify_python": 5, "dot": [2, 4], "doubl": [0, 6], "drop": [0, 1, 6], "due": [0, 5], "duplic": 0, "dure": 0, "dynam": 6, "e": [3, 5, 6], "each": 5, "earlier": 0, "easi": 0, "easier": 0, "easili": 5, "ed2k": 0, "edg": 0, "edit": 5, "effort": [5, 6], "either": 4, "element": [0, 1, 3, 6], "els": [2, 5], "em": 1, "email": [0, 2, 3, 4], "email_r": 5, "embed": 0, "emptytag": 1, "en": [1, 2, 4], "encod": [0, 5], "encount": 6, "encourag": 0, "encrypt": [2, 4], "end": 0, "endswith": 5, "enough": 3, "entir": [1, 3], "entiti": [0, 6], "environ": [0, 2], "eof": 0, "equival": 0, "error": [0, 1, 3], "escap": [0, 1, 3, 4, 5], "etc": [1, 2, 3, 4], "etiquett": 4, "etre": 0, "even": [0, 4, 5], "event": [2, 3], "everi": [1, 4], "everyth": [2, 5], "everywher": 0, "evil": 4, "evolv": 3, "exactli": 5, "exampl": [0, 1, 3, 4, 5, 6], "exc_info": 0, "except": 0, "exist": [2, 5], "exit": 2, "expans": 3, "explicitli": 3, "express": [0, 3], "exterior": 0, "extern": [3, 5], "extra": 0, "extrem": 3, "f": [0, 5], "fail": 0, "failur": 0, "fals": [0, 1, 5], "fast": 3, "faster": [3, 5], "favorit": 0, "featur": [0, 1], "februari": 4, "feed": 0, "file": [0, 2, 4, 5], "filter": [0, 3, 4, 5, 6], "find": [3, 4], "fine": [0, 6], "fingerprint": 3, "firefox": 3, "first": [0, 5], "fish": 5, "fix": [0, 4], "flake8": 0, "flexibl": 3, "focus": [1, 3, 4], "follow": [0, 4, 5, 6], "font": [1, 5], "foo": [1, 5], "for_develop": [2, 4], "forbid": 3, "fork": 0, "form": 3, "format": 5, "found": [1, 2, 4, 5], "fq7q": 0, "fragment": [3, 4, 6], "friend": 0, "from": [0, 1, 2, 3, 4, 5], "frozenset": 1, "ftp": 0, "full": 4, "function": [0, 3, 5], "functool": 5, "further": 0, "futur": 3, "g": [0, 3, 5], "gadget": 3, "gener": [0, 2, 5], "get": [0, 5, 6], "ghsa": 0, "gia": 0, "git": [0, 2], "github": [0, 2, 4, 6], "give": [3, 6], "given": 1, "go": 5, "goal": [4, 6], "gone": 0, "good": [0, 4, 6], "googl": 0, "gopher": [0, 5], "govern": 4, "grainger": 0, "greg": 0, "gt": [1, 4, 6], "guarante": [1, 3, 5], "guidelin": 4, "guth": 0, "gz": 2, "h": 1, "h1": 0, "ha": [0, 1, 2, 3, 6], "had": 0, "handl": [0, 1, 3, 5], "handlebar": 1, "handler": 3, "hang": 0, "happen": 0, "have": [0, 1, 3, 4, 5], "header": 0, "heavi": 1, "height": 1, "here": [1, 5, 6], "hi": 6, "higher": 0, "highli": 0, "homograph": 5, "hoop": 4, "hope": 3, "how": [0, 5], "href": [0, 1, 3, 4, 5, 6], "href_kei": 5, "htm5lib": 0, "html": [0, 1, 2, 4, 5, 6], "html5": [0, 1, 3], "html5lib": [0, 4, 5], "html5lib_shim": [0, 1, 5], "html5parser": 6, "html_tag": [0, 5], "htmlparser": 6, "htmlsanit": 0, "http": [0, 1, 2, 4, 5, 6], "hugovk": 0, "i": [0, 1, 2, 4, 5, 6], "id": 0, "idn": 5, "ie": 3, "ifram": 0, "ignor": 0, "img": [0, 1], "impend": 0, "implement": 1, "import": [1, 4, 5, 6], "improv": 0, "inappropri": 0, "includ": [0, 1, 3, 4, 5], "incompat": [0, 4], "inconsist": 0, "index": 4, "indexerror": 0, "indic": 5, "info": [3, 6], "inform": [0, 2, 3, 4], "infrastructur": 0, "initi": 1, "inject": 3, "innertext": 5, "input": 0, "inputstreamwithmemori": 0, "insid": [0, 5], "inspir": 5, "instal": [0, 1], "instanc": [1, 5], "instanti": 0, "instead": 0, "intend": 4, "interest": 3, "intern": 1, "internation": 5, "introduc": 0, "invalid": [0, 1, 3], "invoc": 2, "involv": 0, "io": [1, 4], "irc": 0, "is_new": 0, "isindex": 0, "isn": [0, 3], "isol": 0, "issu": [0, 2, 3, 4, 6], "item": [1, 5], "iter": [1, 5], "its": [0, 5, 6], "itself": 3, "j": 3, "janet": 5, "januari": 4, "janusz": 0, "javascript": 1, "jdufresn": 0, "jinja": 1, "jinja2": 3, "jpg": 1, "json": 1, "jsx": 1, "juli": 4, "jump": 4, "june": 4, "just": 0, "jvanasco": 0, "k": 5, "keep": [1, 5], "kei": [0, 2, 4, 5], "keyerror": 0, "keyword": [0, 5], "knockout": 3, "know": 5, "known": 0, "kwarg": 1, "l": 2, "lambi": 0, "land": 4, "lang": 0, "larger": 3, "larseggert": 0, "later": 0, "latest": [1, 4], "leav": [5, 6], "left": 5, "legitim": 5, "len": 5, "length": 5, "less": [0, 3], "let": [0, 1, 5], "level": [0, 5], "lh": 2, "li": 1, "libgl": 0, "librari": [0, 2, 3, 4], "licens": [0, 4], "like": [0, 1, 2, 3, 5], "limit": [0, 5], "link": [0, 1, 4], "link_text": 5, "linker": [0, 4], "linkif": 0, "linkifi": [0, 3, 4], "linkifyfilt": [0, 4], "lint": [0, 2], "list": [0, 4, 5], "liter": 5, "ll": [0, 1, 2, 4, 5, 6], "local": [0, 1, 2, 5], "logger": 0, "lon": 5, "long": [0, 5], "longer": 0, "longlonglonglonglongurl": 5, "look": 5, "lorenz": 0, "lot": [1, 3, 4, 5], "lower": 0, "lt": [1, 4, 6], "m": 2, "m6xf": 0, "macabi": 0, "mai": [1, 3, 4, 5, 6], "mail": [2, 4, 5], "mailto": [0, 1, 5], "main": 2, "maintain": [0, 1, 6], "major": 0, "make": [0, 1, 2, 5], "malecki": 0, "malici": [0, 1, 5], "mani": [0, 3], "manifest": 2, "map": [1, 3], "march": 4, "mark": 4, "markup": [0, 3, 4], "mastizada": 0, "match": [0, 1, 2, 5], "match_ent": 0, "math": 0, "mathml": 0, "matrix": 0, "mcsinyx": 0, "md": [2, 4], "mean": [0, 5], "mechan": 3, "media": [1, 3], "merg": 0, "mess": 3, "meta": 0, "method": [0, 1, 3, 4, 6], "mi": 4, "might": [0, 3, 6], "migrat": [0, 4], "minor": 2, "mishmash": 0, "misnest": 1, "miss": 0, "mitar": 0, "model": [3, 5], "modern": 4, "modifi": 5, "modul": [0, 6], "moo": 1, "moofilt": 1, "more": [0, 1, 2, 3, 4, 5, 6], "more_text": 1, "most": [4, 6], "move": 0, "movingpart": 1, "mozilla": [0, 2, 3, 4], "much": 3, "must": 5, "mustach": 1, "mutat": 0, "my": [1, 3, 5], "my_callback": 5, "mydomain": 1, "name": [0, 1, 5], "namespac": [0, 3, 5], "nearli": 3, "necessari": 2, "need": [0, 1, 2, 3, 5, 6], "nest": 4, "netloc": [1, 5], "netscap": 3, "new": [0, 2, 3, 5], "newer": 4, "newli": 5, "newlin": 0, "next": 5, "next_possible_ent": 0, "ng": 3, "nguy\u1ec5n": 0, "nntp": 0, "node": 0, "noemb": 0, "nofollow": [0, 1, 4, 5], "nofram": 0, "non": [0, 1, 4], "none": [0, 1, 2, 5], "nonetyp": 0, "nor": 3, "noscript": 0, "nose": 0, "note": [2, 4], "novemb": 4, "now": [0, 1], "number": [0, 2, 3], "o": 3, "object": [0, 3, 5], "octob": 4, "odd": 5, "offici": 0, "often": 5, "ol": 1, "old": [0, 3], "onc": 3, "onclick": 3, "one": [0, 3, 5, 6], "ones": 0, "onli": [0, 1, 3, 5], "only_fish_tld_url_r": 5, "only_https_url_r": 5, "ontouch": 3, "open": [0, 5], "oper": [0, 3], "opera": 3, "oppos": 6, "opt": 3, "option": [0, 4, 5], "order": [0, 1], "org": [0, 2, 4], "origin": 5, "other": [0, 1, 5], "our": [2, 4], "out": [1, 3, 5], "outgo": 5, "outgoing_bounc": 5, "output": [0, 1, 3], "outsid": 4, "over": [3, 5], "overli": 5, "overload": 0, "overrid": 0, "overwrit": 5, "own": [0, 1, 3, 6], "p": [0, 1, 3, 5, 6], "p1ai": 5, "packag": [0, 5], "page": [1, 2, 4, 5], "pain": 3, "paraguai": 5, "paramet": [1, 5], "parametr": 0, "parenthes": 0, "pars": [0, 1, 3, 5], "parse_email": [0, 4], "parse_vers": 0, "parsed_frag": 6, "parseerror": 1, "parsefrag": 6, "parser": [0, 1, 6], "part": [0, 6], "partial": 5, "particularli": 0, "pass": [0, 1, 2, 3, 5], "past": 0, "patch": 4, "path": 4, "pc": 0, "peopl": 0, "per": 1, "period": 0, "peterson": 0, "pgp": [2, 4], "phong": 0, "pin": 0, "pip": [0, 1, 2, 4], "pixel": 3, "pkg_resourc": 0, "place": [0, 5], "plan": 5, "pleas": [0, 2, 4], "polici": 0, "pop": 5, "port": 0, "possibl": 0, "post": 2, "power": 3, "pre": [0, 5], "prefix": 0, "present": 0, "preserv": [0, 5], "prevent": [0, 3], "previou": [0, 1, 5], "previous": 0, "primari": 3, "print": 6, "prior": 1, "privat": 4, "proactiv": 3, "probabl": [0, 4, 6], "problem": 0, "process": [0, 4], "produc": 3, "product": 3, "profil": 3, "project": [0, 2, 3, 4], "prone": 3, "proof": 3, "properli": [0, 3], "properti": [3, 5, 6], "protect": 5, "protocol": [0, 4, 5], "provid": [1, 3], "public": 0, "pull": 2, "punctuat": 0, "puny_link": 5, "punycod": 5, "puppi": 1, "purpos": 1, "push": 2, "py": [0, 2, 5], "py2": 2, "py3": 2, "pypi": [0, 2, 4], "pypy3": 0, "python": [0, 2, 5], "qqpq": 0, "queri": 3, "querystr": 0, "question": 0, "quirki": 4, "quot": [0, 3, 5, 6], "r": 2, "rais": [0, 1, 5], "rang": 3, "rather": [0, 1], "raw": 0, "rcdata": 0, "re": [0, 1, 3, 4, 5], "read": [0, 2, 4, 6], "readm": 0, "readthedoc": [1, 2, 4], "receiv": [2, 4], "recogn": 5, "recognized_tag": [0, 5], "recommend": [5, 6], "recov": 5, "red": 1, "redid": 0, "redo": 0, "refer": [0, 1], "regard": 3, "regardless": 0, "regex": 5, "regress": 0, "regular": [0, 2, 4], "reimplement": 0, "rel": [0, 1, 4, 5], "relat": [2, 4], "releas": [0, 4], "relev": 4, "reli": [3, 4], "remot": 2, "remov": [0, 1, 2], "remove_mailto": 5, "remove_titl": 5, "render": [0, 5, 6], "replac": [0, 6], "repo": 2, "report": 0, "repositori": 4, "reproduc": 0, "request": [2, 3], "requir": [0, 2], "resembl": 5, "respect": 6, "respons": [2, 4], "restrict": 3, "result": [0, 1], "retain": 6, "return": [0, 1, 5], "reus": 0, "rework": 0, "rewrit": 0, "rewritten": 0, "rsync": 0, "rtsp": 0, "run": [0, 1, 2, 5], "safe": [0, 1, 4], "safe_html": 6, "safeti": [1, 3], "sam": 0, "same": [0, 1, 5], "sanit": [0, 4, 5], "saniti": 2, "sanitis": 1, "sanitize_css": [1, 3], "scheme": [0, 5], "schori": 0, "script": [0, 3, 4, 6], "search": [4, 5], "second": [2, 5], "secondari": 3, "section": [3, 4, 5], "secur": [0, 1, 3], "sedrub": 0, "see": [0, 1, 3, 4, 5, 6], "sekineh": 0, "self": 1, "semver": [0, 2, 4], "send": [2, 4, 5], "separ": 1, "septemb": 4, "serial": [0, 1, 5, 6], "servic": 0, "set": [0, 1, 2, 3, 4, 6], "set_target": 5, "set_titl": 5, "setup": [0, 2], "setuptool": 0, "sever": 5, "sftp": 0, "shadchin": 0, "shawlei": 0, "shorten": 5, "shorten_url": 5, "should": [0, 1, 2, 3, 5, 6], "show_bug": 0, "sign": 2, "silent": 1, "similar": [0, 2], "similarli": 5, "simpler": 3, "simplest": 4, "simpletre": 0, "simplifi": 0, "sinc": 0, "singl": [0, 5, 6], "site": [4, 5], "situat": [0, 5], "six": 0, "size": 2, "skip": [0, 4], "skip_pr": [0, 5], "skip_tag": [0, 4], "slash": 0, "slide": 0, "slightli": 5, "smarter": 0, "smb": 1, "sneddon": 0, "so": [0, 3, 4, 5], "sole": 1, "some": [0, 5, 6], "some_text": 0, "someth": [0, 1, 2, 3], "sourc": [1, 4, 5], "span": 1, "special": 5, "specif": [0, 3, 5, 6], "specifi": [1, 3, 4], "spend": 6, "sphinx": [0, 2], "src": 1, "ssh": 0, "stand": 0, "start": [0, 5], "startswith": [0, 5], "starttag": 1, "state": 1, "static": 6, "stdlib": 0, "step": [0, 5], "stick": 6, "stomp": 5, "store": 1, "str": [0, 1, 5], "stream": [1, 5], "string": [0, 1, 5], "strip": [0, 3, 4], "strip_allowed_el": 0, "strip_allowed_tag": 0, "strip_com": [0, 4], "strip_disallowed_tag": 1, "strip_html_com": 1, "strong": 1, "stronger": 3, "stu": 0, "style": [0, 1, 5, 6], "subdomain": 0, "super": 5, "superclass": 0, "support": [0, 2], "suppress": 0, "sure": [0, 1, 2, 5], "svg": [0, 1], "svg_allow_local_href": 1, "svg_attr_val_allows_ref": 1, "switch": [0, 5, 6], "syntax": 3, "t": [0, 1, 3, 4, 5, 6], "tab": 5, "tag": [0, 2, 3, 4, 6], "tail": 0, "take": [0, 1, 6], "tar": 2, "target": [0, 5], "telnet": 0, "templat": [0, 1], "terminologi": 0, "test": [0, 3, 4], "test_clean": 0, "tests_websit": 0, "text": [0, 3, 4], "textarea": 0, "than": 0, "thank": 0, "thei": [0, 1, 5], "them": [0, 2, 3, 4, 5, 6], "thi": [0, 1, 2, 3, 4, 5, 6], "thing": [0, 1, 3, 4, 5], "thoma": 0, "those": [4, 5], "thread": 1, "three": 0, "through": [0, 1, 3, 4, 5], "throw": 0, "time": 6, "timgates42": 0, "tinycss2": 0, "tip": 2, "titl": [0, 1, 5], "tld": [0, 5], "tmp": 2, "token": [0, 1, 2], "ton": 0, "too": 0, "took": [0, 1], "tool": [3, 5], "top": 5, "tox": [0, 2], "track": [3, 5, 6], "tracker": [2, 4], "tradition": 3, "trail": 0, "transform": 1, "travers": 0, "travi": 0, "tree": 5, "treewalk": [0, 1, 5], "tri": 5, "trivial": 1, "true": [0, 1, 5, 6], "trust": 4, "try": 3, "tune": 6, "tupl": 1, "tvzf": 2, "twice": 5, "twine": 2, "twitter": 2, "txt": [0, 2], "type": [0, 1, 5], "typeerror": [1, 5], "typo": 0, "u": [0, 2, 4, 6], "ul": 1, "unaccept": 0, "unavail": 5, "unbalanc": 4, "unclos": [1, 3], "understand": 0, "unescap": [0, 1], "unicod": [0, 1, 5], "union": 0, "unless": 6, "unsaf": 6, "unsanit": 0, "unsupport": 0, "untrust": [3, 4], "unvendor": 2, "unzip": 2, "up": [0, 4], "updat": [0, 2], "upgrad": [0, 6], "upload": 2, "upon": 3, "uri": [0, 1], "url": [0, 3, 4, 5], "url_r": 5, "urlencod": 0, "urliz": 4, "urllib": [0, 1, 5], "urlpars": [1, 5], "urn": 0, "us": [0, 2, 6], "user": [4, 5, 6], "user_bio": [1, 3], "usual": 3, "utf": 0, "util": 3, "v": [0, 2, 4, 5], "v0": 2, "v2": [0, 4], "v3": 0, "valid": [3, 5], "valu": [0, 1, 3, 5], "valueerror": 0, "ve": [2, 4], "vector": 3, "vendor": [0, 2, 4], "vendorverifi": [0, 2], "veri": 3, "verifi": [2, 3, 4], "version": [1, 2, 3, 4, 5, 6], "via": [2, 3, 5], "virtual": 2, "vrpj": 0, "vulner": [0, 2, 4], "vv2x": 0, "wa": [0, 2, 5], "wai": [0, 1, 4, 5], "walk": 5, "want": [0, 1, 3, 5, 6], "warn": [0, 5, 6], "we": [0, 1, 2, 4, 5], "web": 1, "webcal": 0, "webhook": 2, "websit": 0, "weight": [1, 5], "weir": 0, "weird": [0, 4, 5], "well": 3, "were": [0, 5], "weren": 0, "what": [0, 1], "whatev": 1, "when": [0, 5, 6], "where": [0, 5], "wherev": 5, "whether": [0, 1, 5], "which": [0, 1, 5], "while": [3, 5, 6], "whitelist": 0, "whl": [0, 2], "whole": 3, "whose": 1, "why": 3, "wide": 3, "width": 1, "wiki": [2, 4], "wildcard": 0, "wise": 2, "wish": 6, "within": [0, 5], "without": [0, 5], "won": 0, "work": [0, 1, 2, 3, 5], "would": [0, 1, 3, 5], "wpt": 0, "wrap": 0, "write": 5, "written": 5, "www": [2, 4, 5], "x": 3, "xhtml": 1, "xmp": 0, "xmpp": 0, "xn": 5, "xss": 0, "yield": 1, "you": [0, 1, 2, 3, 4, 5, 6], "your": [0, 1, 3, 4, 6], "yourself": 4, "yucky_text": 1, "zborboa": 0, "zero": 2, "zolt\u00e1n": 0, "\u0434\u0430\u0439\u0442\u0440\u0430\u0444\u0438\u043a": 5, "\u0440\u0444": 5}, "titles": ["Bleach changes", "Sanitizing text fragments", "Bleach development", "Goals of Bleach", "Bleach", "Linkifying text fragments", "Migrating from the html5lib sanitizer"], "titleterms": {"0": 0, "1": 0, "10": 0, "11": 0, "11th": 0, "12": 0, "13th": 0, "14": 0, "14th": 0, "15": 0, "16th": 0, "17": 0, "17th": 0, "18": 0, "18th": 0, "19": 0, "1st": 0, "2": 0, "2011": 0, "2012": 0, "2013": 0, "2014": 0, "2015": 0, "2016": 0, "2017": 0, "2018": 0, "2019": 0, "2020": 0, "2021": 0, "2022": 0, "2023": 0, "2024": 0, "20th": 0, "23rd": 0, "24": 0, "24th": 0, "25th": 0, "26th": 0, "27th": 0, "28": 0, "28th": 0, "29th": 0, "2nd": 0, "3": 0, "3rd": 0, "4": 0, "4th": 0, "5": 0, "5th": 0, "6": 0, "6th": 0, "7th": 0, "8th": 0, "9th": 0, "As": 1, "address": 5, "adjust": 5, "after": 3, "against": 3, "all": 3, "allow": [1, 3, 6], "alter": 5, "alwai": 3, "approach": 3, "april": 0, "arbitrari": 3, "attack": 3, "attribut": [1, 3, 5], "august": 0, "base": 3, "basic": 4, "bleach": [0, 1, 2, 3, 4, 5], "bleachsanitizerfilt": 1, "block": 5, "browser": 3, "bug": [2, 4], "callback": 5, "chang": 0, "clean": 3, "cleaner": 1, "code": [2, 4], "comment": 1, "complet": 3, "conduct": [2, 4], "content": [3, 4], "context": 3, "creat": 3, "cross": 3, "css": [1, 3], "decemb": 0, "develop": 2, "dict": 1, "differ": 6, "doc": 2, "document": 3, "email": 5, "escap": 6, "februari": 0, "filter": 1, "fragment": [1, 5], "framework": 3, "from": 6, "function": 1, "goal": 3, "html": 3, "html5lib": [1, 3, 6], "http": 3, "i": 3, "indic": 4, "input": 3, "instal": [2, 4], "januari": 0, "javascript": 3, "json": 3, "juli": 0, "june": 0, "languag": 3, "leak": 3, "legaci": 3, "link": [3, 5], "linker": 5, "linkifi": 5, "linkifyfilt": 5, "list": [1, 3, 6], "look": 3, "mai": 0, "main": 3, "make": 3, "malici": 3, "march": 0, "markup": 1, "migrat": 6, "non": 3, "novemb": 0, "octob": 0, "other": 3, "page": 3, "parse_email": 5, "path": 6, "pretti": 3, "prevent": 5, "privaci": 3, "process": 2, "protect": 3, "protocol": 1, "purpos": 3, "releas": 2, "remov": [3, 5], "report": [2, 4], "safe": 3, "sane": 3, "sanit": [1, 3, 6], "secur": [2, 4], "septemb": 0, "set": 5, "site": 3, "skip": 5, "skip_tag": 5, "some": 3, "specifi": 5, "strip": 1, "strip_com": 1, "style": 3, "svg": 3, "tabl": 4, "tag": [1, 5], "take": 3, "templat": 3, "test": 2, "text": [1, 5], "transform": 3, "trust": 3, "up": 3, "upgrad": 4, "us": [1, 3, 4, 5], "usag": 3, "user": 3, "v": 3, "version": 0, "web": 3, "xhtml": 3, "xss": 3}})