Skip to main content
Interactive Demo Below: Click “Login with Face ID” to start. You can:
  • Login with simulated Face ID authentication
  • Browse recent transactions
  • Tap transactions with receipts
  • View decrypted itemized receipts
All interactions are simulated - no real banking data is used.

Open Demo in New Tab

Launch the full-screen interactive banking app demo

Learn More

How It Works

See the complete flow from transaction to encrypted receipt delivery

Key Security Features Demonstrated

Client-Side Decryption

Private keys never leave the device. Decryption happens in the Secure Enclave, not on servers.

Biometric Authentication

Face ID/Touch ID required to access receipts, just like accessing your bank account.

End-to-End Encryption

Receipts are encrypted before transmission. Only you can decrypt them.

Cryptographic Signatures

Dual signatures from merchant and issuer prove authenticity and prevent tampering.

What Customers See

Transaction List

  • All card transactions from their statement
  • DRP-enabled transactions show a “Receipt” indicator
  • Tap any transaction to see details

Receipt Details

  • Merchant Info: Name, address, contact
  • Itemized Breakdown: Every item purchased with price
  • Payment Details: Card used, authorization code
  • Tax Information: Itemized tax breakdown
  • Timestamps: Exact transaction time

Additional Features

  • Search: Find receipts by merchant, amount, or item
  • Export: Download as PDF for expense reports
  • Categories: Auto-categorization for budgeting
  • Warranty Tracking: Receipts linked to product warranties

Try It Yourself

Use the interactive demo above to:
  1. Login to the simulated “YourBank” app
  2. Browse recent transactions
  3. Tap a transaction with a receipt
  4. Authenticate with simulated Face ID
  5. View the decrypted itemized receipt
  6. Explore export and search features

Technical Details

What Happens Behind the Scenes

1

Transaction Completes

Customer pays at Joe’s Coffee Shop with their YourBank Visa card
2

Merchant Gets Public Key

GET /v1/public-keys/tok_card_abc123
# Returns: RSA-2048 public key
3

Merchant Encrypts Receipt

const encrypted = crypto.publicEncrypt(
  customerPublicKey,
  JSON.stringify(receiptData)
)
4

Merchant Signs Receipt

const signature = crypto.sign(
  'RSA-SHA256',
  receiptData,
  merchantPrivateKey
)
5

Issuer Adds Second Signature

Issuer signs the receipt with their private key (dual signature)
6

Receipt Stored Encrypted

Issuer stores the encrypted receipt linked to the transaction
7

Customer Decrypts

let decrypted = try SecureEnclave.decrypt(
  encryptedReceipt,
  using: userPrivateKey
)

Encryption Specifications

  • Algorithm: RSA-2048-OAEP with SHA-256
  • Key Storage: iOS Secure Enclave, Android KeyStore
  • Signature: RSA-SHA256 (dual signature)
  • Format: JSON-LD with Schema.org vocabulary

Privacy & Security

What Merchants Can See

  • Transaction amount
  • Items purchased (at time of sale)
  • Customer’s card (last 4 digits only)

What Merchants Cannot See

  • Decrypted receipt after encryption
  • Customer’s other purchases
  • Customer’s personal information
  • Receipt contents after transmission

What Issuers Can See

  • Encrypted receipt (cannot decrypt)
  • Metadata (merchant, amount, timestamp)
  • Delivery confirmation

What Issuers Cannot See

  • Receipt contents (encrypted with customer’s key)
  • Customer doesn’t need issuer permission to view receipts

What Customers Control

  • [Yes] When to view receipts (requires Face ID)
  • [Yes] Who to share receipts with (export feature)
  • [Yes] Receipt retention (can delete anytime)
  • [Yes] Data portability (export and switch banks)

Real-World Use Cases

Before DRP:
  • Save paper receipt
  • Photograph receipt
  • Upload to expense system
  • Manually enter details
With DRP:
  • Receipt automatically in banking app
  • One-tap export to expense system
  • All details pre-filled
  • No manual entry
Before DRP:
  • Search email for receipts
  • Download from multiple merchants
  • Organize by category
  • Calculate totals manually
With DRP:
  • All receipts in one place
  • Export filtered by date/category
  • Automatic totals and categorization
  • Send directly to accountant
Before DRP:
  • Find paper receipt (often lost)
  • Hope merchant has record
  • Provide proof of purchase
With DRP:
  • Cryptographically signed receipt
  • Undeniable proof of purchase
  • Show receipt from banking app
  • Instant verification
Before DRP:
  • Remember what you bought
  • Describe items to bank
  • Hope merchant has records
With DRP:
  • Show itemized receipt
  • Cryptographic signatures prove authenticity
  • Clear evidence for chargeback
  • Faster dispute resolution

Developer Resources

Want to integrate DRP into your app or POS system?

Feedback

This is a demonstration of how DRP works from a customer’s perspective. The actual implementation may vary by card issuer and banking app design.Have questions or feedback about the demo? Contact us