Działał w Niezależnym Zrzeszeniu Studentów, przez rok szefował komisji uczelnianej.
Po 1989 roku stworzył i przez 10 lat kierował firmą informatyczną ProHolding.
W 1995 roku współpracował przy tworzeniu Ruchu 100 Czesława Bieleckiego i Andrzeja Olechowskiego. W 1998 roku został doradca premiera Jerzego Buska ds. obronności oraz bezpieczeństwa państwa. W tym samym roku został posłem. Zastąpił w Sejmie Marka Nawarę, który po objęciu funkcji marszałka sejmiku wojewódzkiego zrezygnował z mandatu. W wyborach w 1997 roku zajął ósmą pozycję wśród kandydatów AWS; posłami zostało jednak tylko siedmiu.
W 2001 roku tworzył struktury Platformy Obywatelskiej w południowo-zachodniej Małopolsce. Do Sejmu IV kadencji dostał się już bezpośrednio, startując z listy PO. Zasiada także w Sejmie V kadencji. Jest szefem Podkomisji stałej ds. Współpracy z Zagranicą i NATO.
Od 26 czerwca 2007 był przewodniczącym Komisji ds. Służb Specjalnych. 22 i 24 sierpnia 2007 brał udział w wysłuchaniu informacji byłego MSWiA Janusza Kaczmarka ws. okoliczności śmierci Barbary Blidy oraz akcji Centralnego Biura Antykorupcyjnego w Ministerstwie Rolnictwa (tzw. afera gruntowa). Po wysłuchaniu ministra Komisja wniosła o powołanie komisji śledczych do rozpatrzenia obu tych spraw.
W dniu 21 października 2007 po raz czwarty został wybrany posłem na Sejm RP, kandydując kolejny raz jako lider listy Platformy Obywatelskiej w okręgu chrzanowskim i otrzymując 35 779 głosów. 16 listopada 2007 objął stanowisko sekretarza stanu w KPRM jako pełnomocnik rządu ds. bezpieczeństwa i koordynator służb specjalnych. 11 stycznia 2008 został przyjęta jego dymisja z tej funkcji.
Przez trzy lata studiował prawo na Uniwersytecie Jagiellońskim. Ukończył studia politologiczne o specjalności dziennikarskiej w Instytucie Nauk Politycznych UJ.