Given a virtual machine on a smart card, the number of possible new applications is mind-boggling. Of course, the memory and interface constraints of smart cards will deeply affect programming style. There are also a number of limitations imposed on runtime cardlet behavior. In the current Card Java system, applets live on a card forever once they are installed. It keeps track of applets that are selected and currently active.
Smart cards are an excellent medium for carrying password-protected personal data.
Private information such as medical records or secret crypto keys can be stored on a card in a form accessible only to the card carrier. Smart cards can also store value. Card carriers can decide with whom to share data and transact business with and use their cards only with those vendors they choose to trust. Somewhat ironically, one of the most unfortunate consequences of this kind of smart card is that secret keys on the card are known only to the issuing bank and must remain secret from the owner . If a stored-value smart card is lost or stolen, the value stored is lost.