pyrit.prompt_converter.NatoConverter#
- class NatoConverter[source]#
Bases:
PromptConverterConverts text into NATO phonetic alphabet representation.
This converter transforms standard text into NATO phonetic alphabet format, where each letter is replaced with its corresponding NATO phonetic code word (e.g., “A” becomes “Alfa”, “B” becomes “Bravo”). Only alphabetic characters are converted; non-alphabetic characters are ignored.
The NATO phonetic alphabet is the most widely used spelling alphabet, designed to improve clarity of voice communication. This converter can be used to test how AI systems handle phonetically encoded text, which can be used to obfuscate potentially harmful content.
Reference: https://en.wikipedia.org/wiki/NATO_phonetic_alphabet
Example
Input: “Hello” Output: “Hotel Echo Lima Lima Oscar”
- __init__()#
Initializes the prompt converter.
Methods
__init__()Initializes the prompt converter.
convert_async(*, prompt[, input_type])Converts the given text into NATO phonetic alphabet representation.
convert_tokens_async(*, prompt[, ...])Converts substrings within a prompt that are enclosed by specified start and end tokens.
get_identifier()Returns an identifier dictionary for the converter.
input_supported(input_type)Checks if the input type is supported.
output_supported(output_type)Checks if the output type is supported.
Attributes
supported_input_typesReturns a list of supported input types for the converter.
supported_output_typesReturns a list of supported output types for the converter.
- async convert_async(*, prompt: str, input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output'] = 'text') ConverterResult[source]#
Converts the given text into NATO phonetic alphabet representation.
- Parameters:
prompt (str) – The text to be converted to NATO phonetic alphabet.
input_type (PromptDataType, optional) – Type of input data. Defaults to “text”.
- Returns:
The text converted to NATO phonetic alphabet format.
- Return type:
- Raises:
ValueError – If the input type is not supported (only “text” is supported).
- input_supported(input_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output']) bool[source]#
Checks if the input type is supported.
- Parameters:
input_type (PromptDataType) – The input type to check.
- Returns:
True if input type is “text”, False otherwise.
- Return type:
- output_supported(output_type: Literal['text', 'image_path', 'audio_path', 'video_path', 'url', 'reasoning', 'error', 'function_call', 'tool_call', 'function_call_output']) bool[source]#
Checks if the output type is supported.
- Parameters:
output_type (PromptDataType) – The output type to check.
- Returns:
True if output type is “text”, False otherwise.
- Return type: