Stopień naukowy doktora nauk humanistycznych w dziedzinie historii uzyskał na Katolickim Uniwersytecie Lubelskim. Był pracownikiem lubelskiego oddziału Instytutu Pamięci Narodowej. W latach 1991–2000 był analitykiem Urzędu Ochrony Państwa, w latach 2006–2008 członkiem Komisji Weryfikacyjnej Wojskowych Służb Informacyjnych, a w latach 2008–2010 pracował w Biurze Bezpieczeństwa Narodowego, obecnie jest wykładowcą akademickim.