Why is JavaScript required?

We do not include any third-party scripts, advertising suites, Social Media tracking pixels, or any other form of technology to track you.

However, we aim to minimize server resource use and maximize scalability. To do this, we rely on your client – instead of our server – to build web pages for you.

What does that mean?

Let's say you navigate to a card page – for example, to /card#4041.

Your browser now loads the static /card page, which has the "scaffolding" of what the eventual page you see looks like. Afterwards, the card page's JavaScript kicks in, sees the #4041 card ID, and requests the actual card data for the Dark Magician – /data/card/4041. Using that data, it then builds the "Dark Magician" card page that you end up seeing on top of the scaffolding. If you don't allow JavaScript to run, there quite literally isn't a card page for you to view.

What's the point?

Why make everything this complicated, you might rightfully ask – after all, you could just send a pre-generated complete "Dark Magician" page from the server.

Well, that's where our second trick kicks in. We cache files very aggressively on your client. The first time you access the Database, we install what's called a "Service Worker" script. Essentially, your browser allows this script to intercept any requests made to our own database servers, and decide if the request is even necessary at all. Quite often, we can simply avoid making it at all, because you've already seen the file you need.

This is why it's so important that we keep data compartmentalized. Instead of needing to transmit an entire file skeleton including the Dark Magician's card data, we can simply re-use the card page skeleton that's already cached, and only request the card-specific data. In fact, if you've already seen the Dark Magician anywhere on the database before – for example if it was mentioned in a Q&A entry, or it popped up as a result for an unrelated search – you already have all that data, and we don't need to request anything!

What scripts are you loading?

First-party scripts (unminified):

Dependencies (minified, unmodified):

Thanks for your trust!

Hopefully, this page has helped remedy any concerns you might've had about adding us to your NoScript whitelist.

Is there anything else you'd like to ask, first? Don't hesitate to get in touch. We have a Discord server you can use, or your can reach out to us on Reddit.