Citation: 4A_154/2013 E. A

A.a. X.________ est une association de droit privé suisse inscrite au registre du commerce, sise à ... (VD) et dont le but social est l'enseignement et l'exploitation d'un institut universitaire de style américain. Au mois de mai 2009, elle a conclu un contrat d'enseignement avec Y.________, citoyenne kazakhe. L'école s'engageait à fournir à l'élève une formation de deux ans ainsi qu'un logement pour le montant total de 43'365 euros. L'élève a payé d'avance 43'305 euros et a suivi les cours à partir du 14 septembre 2009. Le 19 avril 2010, l'école a adressé un décompte à l'élève. Après déduction des frais de l'année académique 2009/10, il affichait un solde de 24'204 euros en faveur de l'élève, avec la mention "refund to" (à rembourser) suivie du numéro de compte bancaire de l'élève. Le 21 juin 2010, l'école a établi un nouveau décompte pour les années académiques 2009/10 et 2010/11, laissant apparaître un solde de 3'097 euros en faveur de l'élève. Le même jour, les parties ont signé une demande de prolongation de l'autorisation de séjour pour études; le 10 août 2010, le permis de l'élève a été renouvelé pour une année. Lors de la rentrée des classes le 6 septembre 2010, l'élève ne s'est pas présentée. Cet automne-là, elle a suivi des cours de français dans un autre établissement.