Hey /c/privacy,

Similar to the idea that was proposed a month ago by @[email protected], I built a little web app that allows one to “emulate” EAN13-based loyalty cards. I call it the Loyalty Card Emulator. 🪄

The app allows you to either select one of the built-in card numbers that I have found on the internet. (Only for demonstration purposes, of course!) Or you can just enter a code manually and create the loyalty card from it. The link to a card can be shared (e.g. if you and your SO use the same loyalty card).

At the moment, it is very basic and only has one single design that is supposed to visually mimic one of the biggest loyalty card providers that I know.

Architectural-wise, the app is written in TypeScript, powered by React and Vite. The app does not transmit and/or store your codes anywhere but on your device; it’s a single-page application that runs entirely in your browser, without any server component.

The source code is publicly available here. The hosting is taken care of by Codeberg Pages - cheers for that!

Adding new card designs and/or preset codes can be achieved quite easily, so feel free to fork and contribute!

  • ChaoticNeutralCzech@feddit.de
    link
    fedilink
    arrow-up
    30
    arrow-down
    1
    ·
    1 year ago

    I use Catima, an Android app that never even connects to the internet. A dozen barcode types, optional card pictures, ZIP export/import etc. LCDs & OLEDs don’t work with laser scanners (those that project a sweeping line) but most shops have camera-based ones anyway.

    • miss_brainfart@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      LCDs & OLEDs don’t work with laser scanners

      I was wondering what the issue was, but laser always was the common denominator. Never even thought of that

      • ChaoticNeutralCzech@feddit.de
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        The reason is that laser scanners use a rotating mirror or lens in front of the laser to create the scanline, and only have a single light cell, detecting rapid changes in red light intensity. They can’t tell where light is coming from so you could trick them into reading a barcode transmitted as a sequence of light pulses from a single source (like an optical mouse’s LED controlled by an Arduino) but not an array of light sources (aka pixels) unless they have different reflectivity as the laser scans across them (such as E-ink). Technically, reflective LCDs could work with laser scanners but transferring the code to a TI-83 calculator is not worth the effort.

  • MidwayTheMagnificent@wayfarershaven.eu
    link
    fedilink
    arrow-up
    14
    ·
    1 year ago

    This is awesome. Stateside they’re often tied to phone number, and/or buried in the (otherwise worthless) app

    Shared loyalty cards really are a privacy necessity, I know exactly how much data those stores already have on me, and it’s a privacy nightmare.

    • ErwinLottemann@feddit.de
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      not sure how loyalty cards work in the us, but i don’t get how this should work with payback specifically.

      • you usually don’t get any in-store rebate
      • you need to enable coupons which are tied to the card number, the coupons only lead to ‘200 extra points’ or ‘3 times extra points’
      • the points are tied to the card number
      • you can buy things with points from their online store
      • you could pay with points, but that would mean you need to be sure there actually are points on that card (but to check that you would need to login to their portal or app)

      the only thing that i can see is that you collect points for the person that ‘owns’ the number… 😐

      • verde.viento@mander.xyz
        link
        fedilink
        arrow-up
        5
        ·
        1 year ago

        While it’s true that the person who ‘owns’ the number will get points from whatever you buy, this is still very useful in those stores (increasingly many, anecdotally) where the price is a lot lower at checkout when you have a card or associated phone number. ‘Discounts’, I.e. un-jacked up prices, only available when you sell your data.

        • reibekuchen@lemmy.worldOP
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          I can confirm that this is the case at “Albert Heijn” in the Netherlands, where you can “save” a bit of money during checkout if you were to present your loyalty card.

      • golfguide_jacobite@artemis.camp
        link
        fedilink
        arrow-up
        2
        ·
        1 year ago

        I remember that few years ago Stocard triggered warning in my company as he got accesses to loyalty point through an API without agreement and through an API most of us didn’t know. With the loyalty card code you could get the point balance of this. We never knew how they found their way