MTG Copilot Docs
Your data

Your data

What the app stores for you, how to get data in and out, and what each table holds.

The rest of these docs describe the card data the app runs on, imported from sources anyone can check. This section is about the other half: the decks, collection, profile and conversations that belong to you.

Everything here is read server-side under row-level security. Documenting the shape of a table changes nothing about who can read a row.

Getting data in

  • Importing a collection. CSV exports from Moxfield, Archidekt, Deckbox, ManaBox and TCGplayer, what gets read from each, and what to do when a row does not match.
  • Deck import and export. Pasted decklists and CSVs, read with the same header-name rules, plus what comes back out.

What we store

Each area gets a reference page with the same per-column provenance as the card data model: what writes a value, and when.

AreaTablesReference
Collectioncollection_cards, collection_sealedCollection
Decksdecks, deck_cards, folders, deck_sharesDecks
Deck analysisdeck_analyses, deck_analysis_feedback, deck_card_eventsDecks
Profile and accountusers, profilesProfile
AI conversationsai_conversations, ai_messages, ai_turn_logs, ai_pipeline_events, ai_audit_findings, token_usageConversations
Feedback you sendtag_feedback, search_translation_feedbackFeedback

That is every table holding user data as of today. Each table in the database is classified as published, private, pending, unused or internal, and a migration that adds one without classifying it fails to typecheck, so a new table is a decision someone made rather than something nobody noticed.

What the AI is given

Answering a question about your deck requires knowing what is in it, so deck contents are sent to the model. Your collection is used where a question depends on what you own. Both are read server-side, as part of answering your own question. See how the AI sees your deck for what is loaded when, and grounding for what the model is allowed to know.

On this page