ankitects / ankitects/anki

Support transferring add-on ownership between AnkiWeb accounts

Open
#5,154 1 comment 0 reactions 0 assignees View on GitHub
ankiweb
Dominant language
Rust
Stars
30.5k
Forks
3.2k
Avg merge
2d 8h
Merged PRs (30d)
60

Description

Users occasionally ask us to transfer ownership of an add-on from one AnkiWeb account to another (e.g. handing a project off to a community-maintained account). Today this has no clear path, and requests can sit unanswered.

**Goal:** make these requests fast and low-effort to resolve.

**Security requirement:** any transfer flow must require the original owner to confirm the transfer (e.g. via a confirmation link sent to their AnkiWeb email, or a similar out-of-band check). This applies to both self-serve and admin-initiated transfers.

**Proposed, in order of preference:**

1. **Self-serve transfer.** The current owner initiates a transfer from the add-on's page; the recipient confirms via a link sent to their AnkiWeb email, and the original owner confirms from theirs. Nice to have.
2. **Admin panel action.** A private admin UI for AnkiWeb maintainers to reassign an add-on's owner given the source account, destination account, and add-on ID. Must still require confirmation from the original owner's email before the reassignment takes effect. This is the immediate win — unblocks us without needing the full self-serve flow.
3. **Documented manual runbook.** As a stopgap, a short internal doc describing the DB/query steps and verification checks (including email confirmation from the original owner) so any maintainer can handle a request without paging the original author.

**Acceptance:** an incoming transfer request can be fulfilled in minutes, not weeks, without weakening ownership guarantees.

Contributor guide

Open the contributing guide

Research direction

No files or tests are named. Start by tracing the existing add-on ownership, AnkiWeb account, admin-panel, database, and email-confirmation entry points, then compare the admin action with the proposed manual runbook. Done means a transfer can be fulfilled in minutes while requiring confirmation from the original owner's email and preserving ownership guarantees.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
authorization, backend, database
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.