Mikata

Privacy Policy

Updated

Mikata has no backend. Apart from one redirect to mikata.moex.land when you authorize it (see below), your data only moves between your browser, the servers you add, and Kamaitachi. The developer never receives it.

What Mikata keeps on your device

Mikata stores the following in your browser’s extension storage. None of it leaves your device except as described in the next section.

  • The servers you add: each server’s address, its time zone setting, and an optional name.
  • Your Kamaitachi access token: it can only be used to submit scores to your Kamaitachi account, the one permission Mikata asks for.
  • The result of the last sync: when it ran, each server’s address, how many scores were submitted and imported, and any messages explaining why scores were rejected or a sync failed. These messages come from Mikata, your browser, or Kamaitachi; the ones from Kamaitachi may name the songs or charts involved. Each sync replaces the previous result.

Mikata does not keep your score exports, and it does not read or store your cookies or passwords.

What Mikata sends, and where

To the servers you add. When you sync, Mikata asks each server for its score export. Your browser sends along the login you already have on that site, as it does for any request there; Mikata cannot see it. If that does not return an export, Mikata may send the same request from a tab you have open on that server. It reads only the reply to that request, not the page.

To Kamaitachi. Mikata uploads each export that has scores in it to Kamaitachi with your access token, then checks on the import’s progress for up to three minutes. An export is a record of your plays as the server provides it; Mikata does not look inside it beyond checking its format and counting its scores. If a server’s time zone is set to anything other than UTC, Mikata corrects the play times before uploading; otherwise the export is sent as is. Exports are held in memory only for the duration of a sync. Once your scores are on Kamaitachi, Kamaitachi’s own terms and privacy policy apply.

When you authorize Mikata. Mikata opens Kamaitachi’s authorization page in a new tab. Once you approve, Kamaitachi sends that tab to https://mikata.moex.land/callback with an authorization code in the address. Mikata reads the code from the tab and exchanges it with Kamaitachi for your access token. That page is static: it runs no analytics, loads nothing from other sites, and has no logging turned on. The page is hosted by Cloudflare, which processes the request, including your IP address, under its own privacy policy.

Mikata has no analytics, telemetry, crash reporting, or ads, and sends nothing to the developer.

Permissions

  • Storage: to keep the data described above.
  • Scripting: only to resend the export request from a server’s tab when the first attempt does not return an export.
  • Access to kamai.tachi.ac: to get your access token and upload scores.
  • Access to mikata.moex.land: to read the authorization code from the tab’s address after Kamaitachi sends it back.
  • Access to each server you add: requested when you add the server, so Mikata can fetch its export.

Sharing

Mikata does not sell your data, and shares it with no one but Kamaitachi, and only to do what you ask of it: sync your scores. Your data is not used for advertising, for determining creditworthiness, or for anything unrelated to syncing. Mikata’s use of information complies with the Chrome Web Store User Data Policy, including the Limited Use requirements.

Removing your data

  • Removing a server in Mikata’s settings deletes it from your browser, along with its entry in the result of the last sync, and gives back Mikata’s access to that site.
  • Removing the authorization in Mikata’s settings only deletes the token from your browser. To revoke it on Kamaitachi as well, open Service Integrations in your Kamaitachi profile, then delete Mikata’s key under API Keys.
  • Uninstalling Mikata deletes everything it stored.
  • Scores already imported to Kamaitachi stay there. You manage them on Kamaitachi.

Changes

If a new version of Mikata handles data differently, this page will be updated before that version is released, and the date at the top will change. Mikata’s source code is public at github.com/moexland/mikata.

Contact

For questions about this policy, email mikata@moex.land or open an issue on GitHub.

隐私政策

更新于

Mikata没有自己的后端。除了授权时会跳转一次mikata.moex.land(见下文),你的数据只在你的浏览器、你添加的服务器和Kamaitachi之间流动。开发者收不到任何数据。

Mikata在你的设备上保存什么

Mikata把下面这些存在浏览器的扩展存储里。除了下一节说的情况,它们不会离开你的设备。

  • 你添加的服务器:每台服务器的地址、时区设置,以及可选的名字。
  • Kamaitachi访问令牌:只能用来往你的Kamaitachi账号上传成绩,这也是Mikata申请的唯一一项权限。
  • 上一次同步的结果:同步的时间、每台服务器的地址、提交和导入了多少条成绩,以及说明成绩为什么被拒绝、同步为什么失败的消息。这些消息来自Mikata、浏览器或Kamaitachi,其中Kamaitachi给出的可能提到相关的曲目或谱面。每次同步都会覆盖上一次的结果。

Mikata不保存你的成绩导出,也不读取、不保存你的Cookie或密码。

Mikata发送什么,发到哪里

发给你添加的服务器。同步时,Mikata向每台服务器请求成绩导出。浏览器会像平时访问那个网站一样,带上你已有的登录状态;Mikata看不到它。如果这次没拿到导出,Mikata可能会在你已经打开的、属于该服务器的标签页里发出同一个请求,只读取这个请求的回应,不读页面内容。

发给Kamaitachi。Mikata用你的访问令牌把每份含有成绩的导出上传到Kamaitachi,然后查询导入进度,最多三分钟。导出是服务器提供的游玩记录,Mikata除了检查格式、数一下成绩条数以外,不读取其中的内容。如果某台服务器的时区设成了UTC以外的值,Mikata会在上传前修正游玩时间;否则原样上传。导出只在同步期间留在内存里。成绩到了Kamaitachi之后,适用Kamaitachi自己的条款和隐私政策。

授权时。Mikata在新标签页里打开Kamaitachi的授权页。你同意之后,Kamaitachi会把这个标签页跳转到https://mikata.moex.land/callback,地址里带着授权码。Mikata从标签页读出授权码,再向Kamaitachi换取访问令牌。这个页面是静态的:没有统计脚本,不加载其他网站的资源,也没有开启任何日志。页面由Cloudflare托管,Cloudflare会按它自己的隐私政策处理这次请求,包括你的IP地址。

Mikata没有统计、遥测、错误上报或广告,不向开发者发送任何东西。

权限

  • 存储(storage):保存上面说的那些数据。
  • 脚本(scripting):只用于在第一次没拿到导出时,从服务器的标签页里重发导出请求。
  • 访问kamai.tachi.ac:换取访问令牌,上传成绩。
  • 访问mikata.moex.land:在Kamaitachi跳转回来后,从标签页的地址里读出授权码。
  • 访问你添加的每台服务器:在你添加服务器时才申请,用来获取它的成绩导出。

分享

Mikata不出售你的数据,除了Kamaitachi不与任何人分享;交给Kamaitachi,也只是为了完成你要它做的事:同步成绩。你的数据不用于广告、信用评估或任何与同步无关的用途。Mikata对信息的使用遵守Chrome网上应用店用户数据政策,包括其中的“有限使用”要求。

删除数据

  • 在Mikata的设置页移除服务器,会把它连同上一次同步结果里关于它的那一行从浏览器里删掉,并交还Mikata对这个网站的访问权限。
  • 在设置页移除授权,只删除浏览器里的令牌。要在Kamaitachi那边也撤销,请打开Kamaitachi个人资料里的Service Integrations,在API Keys下删除Mikata的密钥。
  • 卸载Mikata会删除它保存的全部内容。
  • 已经导入Kamaitachi的成绩会留在那里,请在Kamaitachi上管理。

变更

如果新版本的Mikata处理数据的方式有变,这个页面会在那个版本发布之前更新,顶部的日期也会随之改变。Mikata的源代码公开在github.com/moexland/mikata。

联系

对这份政策有疑问,可以发邮件到mikata@moex.land,或者在GitHub上提issue。