Before You Get Started

Need to Know

This section contains general information that will help you better understand and navigate through the tutorials and SDKs. So before you get started take a quick read through this section to familiarize yourself with key concepts and understandings.

What is a Credential

The term credential means different things to different industries. To the banking industry a credential is a plastic credit or debit card. To the hospitality industry a credential might mean a room key. To the transit industry it might mean a subway token or pass. So, as you can see the term credential can refer to many different form factors.

Although the form factors may differ across industries a credential's purpose remains the same; to authorize an individual access to goods or services.

So as you move through the wiki remember that a credential can mean many things to many different industries but when you boil it down they all have the same purpose.


SimplyTapp has three different profiles general user, developer and issuer. Each profile type is geared towards a specific type of activity. However, that does not mean that a single user cannot perform activities from each profile. Therefore, each profile descriptions are posted below.

Personal User

The personal user profile includes the ability to:

  • Manage application permissions,
  • Manage credential permissions,
  • Manage profile preferences.

Application Developer

The application developer profile includes all of the abilities as the general user profile as well as:

  • Create Application,
  • Manage Application distribution,
  • Manage Application Life-cycle.


The issuer profile includes all the abilities available to both the general user and application developer profiles as well as the ability to do the following:

  • Create issuing entities,
  • Create credential brands,
  • Create credential specifications,
  • Manage credential life cycles.

Definitions & Function

Card Agent

Card Agent represents a specific card applet that runs on a mobile device and is responsible for responding to all requests by the local running mobile application.

The card agent is also responsible for communicating with its corresponding remote card applet in the mobile environment with a remote card applet, this is very important because of performance and latency issues that would resolve in real-time communications with a remote card applet in a strict pass-through architecture. So the card agent is responsible for understanding the logic of the remote applet and perform as the first line of response to the reader as it interrogates the handset. in otherwords, the card applet may respond directly to the point of sale (POS) for many of the interrogation requests, but there may be a few that the card agent needs to interact with the remote card applet to obtain the answer for. The card agent also allows a non-real time query of the remote card applet. So, the card agent may query the remote card sometime prior to an actual POS interrogation begins allowing it to have all the answers for the POS on-hand when asked for card information. In essence, the card agent acts as a firewall to the remote card applet and can inspect and respond to all communications from the POS terminal.

Card Applet

card applet that runs on a smartcard.

Typically these applets abide by a card specification such as:

When a card applet is compiled and loaded into a smartcard, the card can then be personalized through the applet and used as a card of that brand. Card applets are not limited to the brands above. In fact, javacard can be used to make a card applet of your own such as "my card spec" that is for your own propriety application such as:

  • Ticketing,
  • Transit,
  • Payment, or
  • A variety of other types of transaction based applications.

The SimplyTapp Credential Matrix supports running of javacard card applets on a remote server and then connecting these applets to individual mobile devices.


A credential is a document or certificate that prove a person's identity or qualifications. In the world of monetary transactions a credential can be used in exchange of goods or services. Some examples of credentials in today's world include:

  • Credit & debit cards,
  • Gift cards,
  • Coupons & Vouchers,
  • Hotel keys,
  • Transit cards or tokens,

Credential Matrix

The SimplyTapp Credential Matrix is the remote facilities where credentials are housed and backed up.

gpjNG Shell

globalplatform javacard next generation shell (gpjNG) is a development tool used for talking to card applets. Communication is done by issuing APDU-C commands to the applet and receive APDU-R requests from the applet. This typically has higher level support for bundling commands for tasks such as:

  • Card authentication,
  • Selecting an applet,
  • Running a script against a card applet,etc.


PayPass is a Mastercard payment specification.


An standard development kit (SDK) is a tool like a packaged java library that is used to compile and test javacard card applets or card agent source.


simulator is a development tool used to build and test javacard applets.


smartcard, chip card, or integrated circuit card (ICC) is any pocket-sized card with embedded integrated circuits.

Trusted Transaction Engine

Trusted Transaction Engine (TTE) is a system of software components that manage the creation, distribution and overall life cycle of a secure credential.