[HN Gopher] Show HN: WalletWallet - create Apple passes from any...
___________________________________________________________________
Show HN: WalletWallet - create Apple passes from anything
I got my Apple developer certificate and built a simple app to
solve a problem I had. One shop I buy from doesn't have Apple
Wallet passes. Since you need signed certificates to build these
very simple things, I created a minimal app that signs them. It's
available if you need it too. It won't scan cards with AI - you
manually enter the barcode, which I think makes it less prone to
error.
Author : alentodorov
Score : 242 points
Date : 2025-12-21 16:04 UTC (6 hours ago)
(HTM) web link (walletwallet.alen.ro)
(TXT) w3m dump (walletwallet.alen.ro)
| 081guy wrote:
| This is great! Are you sure you are not violating any ToS for
| that? I'd hate to see it go
| saxenaabhi wrote:
| It probably is violating the ToS. But would like to know more.
| jackdh wrote:
| Unlikely, I've used apps similar to this such as passbook [0]
| for a while now and they're still up.
|
| [0] https://apps.apple.com/us/app/passbook-wallet-pass-
| creator/i...
| saagarjha wrote:
| Nothing wrong with signing a pass
| CraftThatBlock wrote:
| This also works for Google Wallet, you could change the messaging
| around it to indicate that.
| alentodorov wrote:
| nice! don't have an android device to test - did u download it
| and it worked?
| viiralvx wrote:
| I did! It worked just fine for my gym pass
| StrangeSound wrote:
| I wouldn't worry too much about android - you can very easily
| add cards manually.
| subscribed wrote:
| OK, stupid question, what is the thing this utility does that
| can't be achieved with scanning a physical pass with barcode or
| entering the details manually into a Google Wallet?
|
| Because I don't see the.... utility if it?
|
| Unless this achieves something specific I don't know.
| radicality wrote:
| I don't know about Google Wallet, but for iOS Wallet, it is
| not possible to create a new entry there yourself as a normal
| user. It has to be signed with a $99/yr certificate, so this
| thing does the signing for you. The utility is that whatever
| you created now lives with the rest of the passes in one
| place.
| pseudosavant wrote:
| This is excellent! Wish the Wallet had this ability built in.
| artificialLimbs wrote:
| We've been using Apple Wallet (and Google Pay) with bar code
| scanners with some success, but the bar codes sometimes do not
| scan correctly and we get garbled or completely wrong data maybe
| 1 in 20-30 scans. Tried various scanner settings/speeds, etc, no
| dice so far, and the scanner/pos combo was the one recommended by
| our processing vendor. Both were among the highest dollar models.
| This looks like a very cool project!
| amaccuish wrote:
| As an aside, I find it really sad that, having a de-Googled
| Anroid phone, it's actually easier for me to download the Apple
| Wallet .pkpass files
|
| Anything to do with Google Wallet passes just forwards me to a
| Google login page.
| Semaphor wrote:
| Condor airlines has an "open with Google wallet" link, that
| doesn't work because I don't have that app. .pkpass files just
| work with my foss wallet
| saagarjha wrote:
| A curious example of a compatibility feature ending up having a
| much better experience than the thing that they clearly want
| you to do. Hopefully some Google PM doesn't see this comment
| and ruin things...
| dickiedyce wrote:
| Code39 would be really useful ;-)
| corprew wrote:
| Yeah, Code39 would be really festive.
| x3n0n wrote:
| Yeah, Code39 would be really festive.
| alentodorov wrote:
| noted
| fragmede wrote:
| scanning for barcodes is an easy enough pre-AI computer vision
| algorithm with OpenCV. AI could "write" that for you!
| alessandropier wrote:
| Love the idea, thanks for sharing!
|
| One obvious concern here is data privacy, since the pass details
| are sent to the server. Any chance it would be possible to run
| everything in the browser, without sending data back to the
| server?
| alentodorov wrote:
| not really. the .pkpass needs to be signed. you can build the
| file locally but you won't be able to load it in apple wallet.
| alessandropier wrote:
| yeah was expecting that, thanks! do not use my gym pass pls
| zeckalpha wrote:
| Please be clearer about this on the site!
| matrss wrote:
| The site is pretty clear: "Free and works in browser",
| "Processed locally", "Private". But apparently the site
| (sorry for the harsh word, but I can't interpret it any
| other way) lies.
| fragmede wrote:
| "is incorrect" is slightly less harsh, but in this case,
| I'd call it a lie. It's a rather subtle but important
| implementation detail. I don't think the author (who is
| here in this thread) is necessarily malicious because of
| this, but, well, it's a lie.
| gruez wrote:
| I'm not exactly sure how passes are signed, but in most
| digital signature schemes, you only sign the hash of the
| message, not the actual contents. Therefore you could
| conceivably do this in a privacy preserving way by only
| passing in the hash to be signed, which would allow the
| server to generate a valid signature without knowing the
| contents.
| alentodorov wrote:
| Apple Wallet passes use CMS signatures. you're right that
| only hashes are signed. but Apple requires an official
| Developer certificate ($99/year) with a private key that
| can't be exposed to browsers. for true privacy, each user
| would need their own cert. and defeats the "free" goal. and
| if you have a dev certificate it's trivial to generate one
| on your own machine.
| gruez wrote:
| >Apple Wallet passes use CMS signatures. you're right
| that only hashes are signed. but Apple requires an
| official Developer certificate ($99/year) with a private
| key that can't be exposed to browsers.
|
| Why can't the browser send the hash to the server for
| signing?
| alentodorov wrote:
| let me look into it.
| saagarjha wrote:
| Any chance of allowing me to upload my own keys and doing
| the signing in the browser? I am sure this is a niche use
| case but I know how to generate the certificate for this
| but have been too lazy to make a thing like this for
| (checks to-do list) something like six years and I'd much
| rather just use your thing lol
| the_lucifer wrote:
| Haha, I just made a comment above that I've been sitting
| on a half done project to do this for around 8 years now.
| alentodorov wrote:
| that's a good idea. i'll release a BYOK version but don't
| plan to host it myself. will include a quick run script
| to run it locally.
| jimkleiber wrote:
| Maybe a dumb question: if I'm entering a QR code, which info do i
| put in?
| hopelite wrote:
| That will vary. It can technically include any text up to a
| limit, but most likely it will be a URI, but it could be as
| simple as and account number. You would want to decode the QR
| (you can likely do that using your phone camera) and that would
| be the data to enter.
|
| Ideally this tool would simply use the camera to capture the
| visual code (bar, QR, etc.) and enter it/replicate it.
| alentodorov wrote:
| agree. implemented QR code scanning using the great
| html5-qrdecode package so scanning happens locally.
| ivanjermakov wrote:
| I solved this issue with Wallet Creator:
| https://apps.apple.com/app/id1486573384
|
| Didn't know it was this simple to just provide a download for
| prepared file. Is it open source?
| hopelite wrote:
| I don't see it that way. I would rather have a browser based,
| one-off tool that can generate a .pkpass served up for local
| "installation", not installing an app that is necessary to
| separately manage the passes separately and very well could be
| tracking its users.
| mbirth wrote:
| MakePass is an app that creates independent/proper Wallet
| *.pkpass files. You can completely customise the pass
| appearance according to Apple's specs.
|
| (Not sure whether the current licensing offerings are worth
| it, though. I've got grandfathered in from before it had AI
| support.)
|
| https://pvieito.com
| kimos wrote:
| This looks like it would work well, but it's a
| subscription. It makes no sense to charge me a yearly fee
| to make one pass file for my library card.
| jpalawaga wrote:
| absolutely ridiculous. $10 for a single pass. I'd pay 99c
| for this app, and no more. Oh well, $0 it is.
| fragmede wrote:
| What happens when they website goes away? The app I can save
| and use locally after the website is defunct.
| CamJN wrote:
| Well for this particular functionality whatever you use
| (website, app, etc) must have a valid apple developer
| certificate, so either the website must be up, the app's
| backend server must be up, or an offline app's bundled
| certificate must still be valid. All of these things will
| eventually stop being true regardless of the form the
| app/website takes.
| kimos wrote:
| I tried using this. The camera didn't work in several ways, it
| didn't understand barcodes, and crashed a half dozen times
| before I just deleted it.
| thwarted wrote:
| > _It won 't scan cards with AI - you manually enter the barcode,
| which I think makes it less prone to error._
|
| This is a very interesting sentence.
|
| I interpret this sentence as saying that manually entering a
| barcode is less error prone than letting AI do it, that AI would
| have an unacceptable margin of error (and this is probably an
| accurate assessment).
|
| But you don't need AI to find or read barcodes. Finding and
| reading barcodes is a reasonably mature technology that has
| existed long before AI.
|
| Barcodes exist as a fast, machine readable data transfer format
| meant to avoid data entry errors by avoiding manual data entry,
| and yet you've implemented manual entry in order to avoid errors?
|
| Now, if one of the constraints you've put on your implementation
| is that it work only in the browser and you don't want to have to
| download a large barcode scanning library to the browser, then it
| makes sense to implement manual entry. But that has nothing to do
| with AI.
|
| That being said, there are some barcode reading apps that can be
| used to prompt for a scan from a web page, and you get the
| barcode payload back. I've used an app called "bineye" on Android
| (source on GitHub) that works like this. This helps avoid error
| prone manual entry and gets the full barcode payload (many
| barcodes store/encode more information than the human readable
| text printed next to them).
| alentodorov wrote:
| i should've been clearer: while browsing i found multiple apps
| that do this. most use AI to extract data from images and are
| much more feature-rich - you can photo your boarding pass and
| it goes straight to wallet. however, i noticed that AI
| sometimes gets details wrong. for example, when i uploaded just
| a barcode image, it couldn't create the pass because the model
| also wanted a "name" field.
| Moto7451 wrote:
| When I've done similar things in the past I found there was
| always a library for barcode/QR use cases before such things
| ended up being built into the OS/Framework I'm in.
|
| https://serratus.github.io/quaggaJS/ seems browser friendly?
|
| Generally I agree with your point on AI fuzziness here not
| being useful.
| dmd wrote:
| Could you add Codabar?
|
| edit: oh, I guess you can't, because Apple Wallet doesn't
| support it.
| alentodorov wrote:
| i think there's a way but it's hacky. instead of using the
| barcode property it would add an image based on your
| inputted codabar.
| dmd wrote:
| That would be pretty great. I have half a dozen codabar-
| based cards.
| mcintyre1994 wrote:
| Ironically if I needed to manually copy the text from a barcode
| on my phone, I'd take a photo and use Apple's AI to select and
| copy the text from it.
| the_lucifer wrote:
| This is such a quick and neat way to get a pass for all the
| random codes in your wallet.
|
| I've had a long shelved project (>8 years now?) where I was
| working on a solution to doing this from a mobile device but with
| loads more customization (including image options for different
| slots), but the cost effectiveness thanks to the PKPass signing
| as you noticed, put me off to provide it as a public utility as I
| was a student then. This gives me motivation to revisit it.
| mbirth wrote:
| Have a look at MakePass[0] - which sounds exactly like you
| describe. It allows you to design a pass as per spec.
|
| [0] https://pvieito.com
| emodendroket wrote:
| I don't think I fully understand the use case for this. What
| would you use the card for?
| ms7m wrote:
| A personal use case: my local gym that issues only physical
| barcode cards -- I used a different app (similar in this style)
| that allowed me keep it on my apple watch / iPhone instead
| emodendroket wrote:
| I see, so this is specifically you have a physical, eg,
| loyalty card that has a barcode, and you want to use the
| Apple Wallet?
| alentodorov wrote:
| my use case is a loyalty barcode for a major retailer here.
| they provided a digital version but you had to download
| their app or take a picture. apple wallet is convenient, u
| just double tap and the Wallet loads on screen with full
| brightness to make it easy to scan. i dont have to keep
| anymore.
|
| but on apple wallet u can't create your own a pass from a
| simple scan. creatign the ".pkpass" need a signature from a
| apple developer account.
| yoan9224 wrote:
| This is genuinely useful. I have so many loyalty cards that exist
| only as physical barcodes that stores refuse to look up by phone
| number.
|
| The privacy concern about sending pass data to the server is
| valid though. Since .pkpass files need to be cryptographically
| signed with Apple's certificate, there's no way to generate them
| purely client-side.
|
| Potential solution: open source the signing code and let users
| run it locally with their own Apple Developer account ($99/year).
| Power users would do this, casual users can use your hosted
| version.
|
| Also works with Google Wallet apparently, which is great for
| Android users.
| jbverschoor wrote:
| For loyaltycards there was Stocard, but it got acquired by the
| toxic company Klarna.
|
| SuperCards is very very similar, and in my opinion more useful
| than putting everything in Apple Wallet. You get to store a
| pictures, and everything is in one place. Apple Wallet is
| already cluttered with tons of creditcards, tickets, etc
| DrewADesign wrote:
| Weird thing from the pretty ho-hum super cards privacy
| policy:
|
| > The Service Provider will retain User Provided data for as
| long as you use the Application and for a reasonable time
| thereafter. If you'd like them to delete User Provided Data
| that you have provided via the Application, please contact
| them at _blub@blob.com_ and they will respond in a reasonable
| time.
|
| That looks like a placeholder address to me? Not exactly
| confidence inspiring if so...
| windmark wrote:
| Looks like they were notified of this miss
|
| > please contact them at support@supercardsapp.com and they
| will respond in a reasonable time.
|
| https://supercardsapp.com/privacy-policy/privacy
| jacobajit wrote:
| I wish there were a way to "archive" cards and passes in the
| Wallet app. I'd be much more likely to pass-ify my life if that
| were the case.
|
| The Wallet app is just too important and used frequently in time
| sensitive actions to clutter with cards/passes that I use once
| every few months. That is, when I'm about to tap to pay, I don't
| want to infrequently used cards to clutter my payment experience.
| Likewise, when I'm about to board a flight, I don't want random
| loyalty cards to clutter the interface.
|
| At the same time, I would really like to keep these occasional
| cards and passes in Wallet, just not on the main screen. It
| definitely beats hanging onto these physically, especially
| because they are in fact infrequently used so I would never carry
| them around.
|
| It should be a similar distinction to Apple's Home Screen vs App
| Library for long-term archival.
| pimlottc wrote:
| It's possible to make a pass with location info so that it pops
| up on your Home Screen when you're nearby a relevant location
| (e.g. a store, library, train station, etc). Doesn't seem to be
| supported by this tool, though.
| mcgrath_sh wrote:
| I use my password manager for those. The only card I have in my
| Apple wallet is my grocery card. Otherwise, I go to my password
| manager and pull up the entry and the attached images. Some, I
| have just a barcode png. Others I have screenshots of the card
| from an app/website. This has been a really good balance for
| me.
|
| As an aside, I tried to use base64 for the images so everything
| was in text, but decoding with a shortcut was annoying enough I
| went with the image attachment.
| wateralien wrote:
| Source? Can we get a repo please?
| listless wrote:
| I have been looking for something like this for so long! All I
| wanna do is stop carrying this rec center card around. Perfect.
| StrLght wrote:
| That's very useful, thanks!
|
| One small-ish feature request: could you please add support for
| EAN-8?
| shantanulume wrote:
| This is great am I weird for wanting an app?
| hn111 wrote:
| One CSS tip: make sure the input fields have a minimum font-size
| of 16px. That way iOS won't zoom-in the page when focussing one.
| below43 wrote:
| This is very cool thanks. It would be awesome as a PWA so I can
| have it installed on my home screen/use it offline (edit: it
| looks like I misunderstood what the website meant by "runs on the
| browser" - I didn't it has a server dependency. Even so, it's
| easy to get Claude to generate a manifest and service worker to
| make it a PWA).
|
| Also, minor UX feedback. Make the barcode type the first form
| field.
| viiralvx wrote:
| This is amazing, thank you! Works with Google Wallet too!
| kimos wrote:
| This is great. And it send me down the path of trying to get my
| library card to work.
|
| Turns out it uses a format called Codebar which is from 1972 and
| not supported by Apple wallet passes. This tool and most of the
| other linked ones in this thread did not work. (And also tried to
| charge me a recurring subscription to use once, but that's
| another issue)
|
| I found this one which generates many other barcode formats and
| generates them as images as a workaround. That seems to work.
|
| https://apps.apple.com/app/id1423106610
| gorgoiler wrote:
| Brilliant! Suggestion: most store cards get scanned as a bar code
| 99% of the time but when calling them they will want you to quote
| your membership number over the phone. It would be useful to have
| it printed below the barcode so I can quote it directly from my
| Apple wallet.
| toobulkeh wrote:
| I immediately tried this with my Seattle Orca card, but the
| barcode is different
| Angostura wrote:
| Just a question about privacy. It says works entirely in browser,
| but if you load the page, and then switch off mobile data and put
| the details in, it seems impossible to create the pass without a
| data
___________________________________________________________________
(page generated 2025-12-21 23:00 UTC)