Is it possible to export a list of all the cards I own to a text file without breaking the ToS?
Sadly, it is not possible to export your HS decks (as far as I'm aware).
There are several tracker applications that have been made that are able to build your decks in-game. This would mean you "build" the deck in the tracker first, and can then tell the tracker to create that deck. This makes it easy to keep as many deck configuration as you want in the tracker, and can simply export your decks to the limited 9 Hearthstone slots at will.
These trackers do not violate the ToS. It is often said they do, but they are not against the ToS if they do not play the game for you.
This means (at least) the following is allowed:
- Automated building of decks. Does not impact the actual gameplay.
- Tracking of cards - Which cards you have already drawn (and by elimination, which you still can draw)
- Tracking of the enemy cards - that is to say, marking when each card (currently in their hand) was drawn. Since cards are always ordered based on their draw order, and you visually see the enemy playing the correct card, an observant player can keep track of which cards the enemy plays (topdecks? Cards he mulliganed into? Cards he did not mulligan? The coin? Special cards like spare parts?). Since an observant player, or one using pen and paper can do so, it is not illegal for a tracker to do the same thing.
- Tracking which cards the enemy has played. Obvious to track, but seeing them listed may reveal what type of deck the enemy is playing.
- Listing the draw percentage of cards in your deck. This is a simple calculation based on the amount of cards left in your deck, and whether or not you still have 1 or 2 cards in there.
If you're interested, trackers do not actually "see" the game happening. Hearthstone updates a logfile for every event ingame, and the trackers directly read from that logfile on your harddrive.
For example, when the spinner shows an opponent was found, my tracker is already able to tell me which cards I can keep/mulligan. It was alraedy decided by the game, it just takes longer because of the nice animations and UI loading time.
Ben Brode (lead developer for Hearthstone) has replied to specific allegations about trackers, and said that if it can just as well be done on pen and paper, it is not against the ToS.
Sadly, I can't link to these statements due to my company network having blocked twitter URLs.
Plugins exist to scrape decks from sites likes HeartHead.com, HearthStats.com, ... This means you can directly save decks from their web page to your tracker, and then have the tracker export the deck to your Hearthstone game. All you have to do in Hearthstone is open a new deck (of the correct class), and then let the tracker work its magic. It sometimes misses a card due to graphical lag or the like, but it usually works very well.