Program do podpisu w programowaniu komputerowym to krótki blok nieskompilowanego kodu źródłowego, który jest dołączany na końcu wiadomości e-mail lub innej komunikacji. Podpis w komunikacji elektronicznej to blok tekstu, który jest automatycznie dołączany do wiadomości wychodzących, czasami w celu identyfikacji użytkownika. Gdy blok kodu znajduje się w tym obszarze, jest znany jako program do podpisu. Większość programów do podpisu wykonuje trywialne funkcje, które wyświetlają dane lub informacje w zaskakujący sposób dla zwięzłości rzeczywistego kodu. Ograniczenia oznaczają, że program do podpisu nie jest skompilowany, co wymaga skompilowania go przez ciekawskiego widza, aby zobaczyć wyniki — zadanie wymagające pewnej wiedzy programistycznej — co oznacza, że większość programów podpisu jest oglądana głównie przez osoby ze społeczności programistów.
Jednym z elementów programu do podpisu jest sposób jego napisania. Zamiast wyglądać jak normalny kod programowania komputerowego, jest często napisany w bardzo niestandardowy, skrócony sposób poprzez użycie funkcji, operatorów i cech językowych, które nie są często widywane. Częściowo jest to spowodowane tym, że kod jest trudny do odczytania, aby wynik programu nie był łatwo widoczny, chociaż można to również zrobić, aby zapewnić wygląd, który jest w pewien sposób unikalny. Nazwa kodu, który został napisany tak, że celowo jest trudny do odczytania, to kod zaciemniony.
Typowym wyjściem programu do podpisu może być nazwisko osoby, która napisała kod lub nazwisko osoby wysyłającej wiadomość, do której kod jest dołączony. Popularne są również graficzne lub tekstowe reprezentacje formuł matematycznych i operacji rekurencyjnych. Chociaż możliwe jest prawie każde wyjście, kod źródłowy jest zwykle ograniczony do czterech wierszy, co jest tradycyjną maksymalną długością pliku sygnatury.
Rzeczywiste formatowanie kodu źródłowego może być częścią programu do podpisu, ponieważ wskazuje na wynik, który może zostać wygenerowany. Czasami można to zrobić, układając kod źródłowy w celu utworzenia obrazu związanego z danymi wyjściowymi lub używając liter i symboli w kodzie do przeliterowania słów. Jest to możliwe, ponieważ większość kompilatorów programowania ignoruje wiele spacji i podziałów wierszy, zamiast tego patrząc tylko na rzeczywiste znaki w wierszu kodu.
Dodatkową metodą wpływania na długość, działanie i czasami wygląd kodu w programie do podpisu jest użycie makr. Makra to sposób na przypisanie fragmentu prawidłowego kodu komputerowego do krótszej lub alternatywnej sekwencji znaków lub symboli. Gdy makro zostanie później umieszczone w kodzie źródłowym, zostanie zastąpione przez kompilator kodem, który reprezentuje. To nie tylko skróci program do tworzenia podpisów, ale także poprzez użycie makr o wprowadzających w błąd nazw lub zawierających inne makra, program może stać się niezwykle trudny do odczytania.