Skip to content
This repository has been archived by the owner on Feb 8, 2018. It is now read-only.

add ability to deactivate account #54

Closed
chadwhitacre opened this issue Jun 14, 2012 · 63 comments
Closed

add ability to deactivate account #54

chadwhitacre opened this issue Jun 14, 2012 · 63 comments

Comments

@chadwhitacre
Copy link
Contributor

was: "UI to unclaim account"

logout and set claim_time to NULL

@chadwhitacre
Copy link
Contributor Author

Also clear payment_method_token and last_bill_result, and set all tips to zero.

I guess we should keep entries around in the tips and exchanges tables for accuracy.

@chadwhitacre
Copy link
Contributor Author

+0 from @sigmavirus24 via twitter.

@chadwhitacre
Copy link
Contributor Author

So far the people that have asked for this have really wanted #114 (opt out of receiving tips).

@sigmavirus24
Copy link
Contributor

More like +0.5. As a poor student I don't have much money to give to others. My original intent was to lock the account to prevent the possibility of someone else claiming it as mine. I messed up though and have no problem opting out. Hopefully soon I'll have a job in which I can contribute to others.

@chadwhitacre
Copy link
Contributor Author

@sigmavirus24 Ah, okay. Sorry. Thanks for clarifying.

@sigmavirus24
Copy link
Contributor

No need to be sorry. It's hard to properly explain oneself in 140 characters or less.

@chadwhitacre
Copy link
Contributor Author

+1 from @daid.

@chadwhitacre
Copy link
Contributor Author

From @duckinator on #114:

I feel you need the option to at least effectively disable your account. Otherwise, it feels like lock-in, and I don't like that from anyone, no matter how much I like the service.

If you will not add this feature, please disable my account manually. I don't like being signed up for services where I can't disable or remove my account through an automated method, and would not have signed up had I been aware that that option wasn't available.

I apologize if I sound harsh, that's not my intent here. I just strongly object to being unable to disable my account to any extent (the approach here doesn't really count, IMO, but I believe is worth keeping because at least some people -- myself included -- use it).

@chadwhitacre
Copy link
Contributor Author

@duckinator Sorry to have locked you in. :-(

Reviewing the steps at the top of this ticket, I think we want to handle this differently depending on whether the person has actually given / received money yet.

@chadwhitacre
Copy link
Contributor Author

That is, I'm second-guessing the policy of allowing people to grab a username on Gittip and lock it. It's one thing to say "leave me alone" on one's GitHub (eventually Twitter, Facebook, etc.) proxy page on Gittip. But right now if you "lock" your GitHub account with respect to Gittip, then your username becomes unavailable on Gittip as well. It's frustrating to find people squatting on Twitter accounts, for example. This would be a little different in that you'd have a link out to a GitHub (or other) profile for a username that is taken on Gittip.

@duckinator
Copy link
Contributor

@whit537 I don't mind if you need time to figure out how to do this right, as long as it's acknowledged. If you're at least planning to do something about deleting/disabling an account, you're doing better than multiple sites I've had to deal with in the past few months. :P

@chadwhitacre
Copy link
Contributor Author

@duckinator Definitely acknowledged.

@chadwhitacre
Copy link
Contributor Author

+1 from @liori via IRC

@chadwhitacre
Copy link
Contributor Author

+1 from @headius via Twitter.

@reidrac
Copy link

reidrac commented Jan 31, 2013

+1 from me.

Deleting accounts should be included in any MVP. Please add to your "open company" definition no user lock-in :)

Thanks for gittip and keep up the good work.

@clone1018
Copy link
Contributor

+1

@chadwhitacre
Copy link
Contributor Author

Okay, let's flesh this out and get a milestone going:

https://github.com/zetaweb/www.gittip.com/issues?milestone=31&state=open

What's the user story?

I find a button on/under my profile somewhere, marked out in red with warnings, etc., that says "Deactivate". I click it, and what happens? Looking at it from the outside, I expect that everything is just as it was before I joined in the first place:

  • https://www.gittip.com/myusername/ is 404
  • https://www.gittip.com/on/twitter/myusername/ sez "Has not joined," etc.

And also:

  • my data is purged

We can satisfy (1) and (2) by converting the participant record back to a stub. That's relatively straight-forward. #586

(3) is the tricky part. Here's what all data we have on you:

  • participant entry
  • tips
  • exchanges
  • transfers
  • elsewhere entries
  • CC/BA details in balanced

First, we can't actually completely purge your info from Balanced (see balanced/balanced-api#29). But even for data under our own control, it doesn't seem obviously correct to completely remove all of it. Why not?

Well, for one, we want users who have received money from you to have an immutable history.html page. It would be no good for me to look at my history on Gittip one day and see one thing, and the next and see something different. That means we should leave the data in the transfers table. Furthermore, it seems to indicate that we should preserve the old participant_id somehow, because that shows up in history, "$0.25 to foobar." We want to indicate that foobar has deactivated their account (strikethrough, fadeout?), but we want it to still say "foobar" there.

Secondly, I suppose we'd like to keep an audit trail to aid in anti-fraud. We can update the queries over tips to leave out tips to/from deactivated (stub, unclaimed) accounts, but if we want an audit trail, then that means keeping tips and exchanges around in addition to transfers.

So do we leave tips, exchanges, and transfers untouched? This would have the effect that if you ever rejoined Gittip, your giving graph would be reactivated. That always kinda creeps me out about Facebook. An alternative—and I'm not sure it's really better—is to keep that data, but go to pains not to reactivate it on rejoin. Note that we are talking about slowly forgetting this data site-wide (see #397), so perhaps that would make this strategy acceptable?

@chadwhitacre
Copy link
Contributor Author

Here's what Twitter does:

twitter


twitter gone

chadwhitacre added a commit that referenced this issue Feb 28, 2013
Inspired by Twitter, I'm going with "deactivate" instead of "delete,"
because this more accurately reflects what we're actually going to do
when they click The Button. We aren't going to actually delete data
until further down the road.
chadwhitacre added a commit that referenced this issue Mar 8, 2013
This is the test that sent us off to chase down the security hole that
was closed in 864b1de.
@chadwhitacre
Copy link
Contributor Author

+1 from @kutf on #823.

@bruceadams
Copy link
Contributor

While @dhh isn't speaking directly of Gittip, his writing https://37signals.com/svn/posts/3711-canceling-efax is a crystal clear +1 for this.

@bruceadams
Copy link
Contributor

+1 from @DeveloperCorey via [email protected]

@bruceadams
Copy link
Contributor

+1 from @devavratravetkar via [email protected]

@bruceadams
Copy link
Contributor

@bruceadams
Copy link
Contributor

+1 from leeceedee (on Twitter) via [email protected]

@chadwhitacre
Copy link
Contributor Author

+1 from @MarcelGruenauer on Twitter (two).

@chadwhitacre
Copy link
Contributor Author

+1 from @ivucica on Twitter.

chadwhitacre added a commit that referenced this issue May 16, 2014
This takes the three scripts involved in account cancellation--
final-gift, untip, and deactivate--and moves them pretty much unchanged
(except for removing the hashbang and print_function import) into
methods on the Participant object. It also roughs in a UI.
@chadwhitacre
Copy link
Contributor Author

+3 Freshdesk 407 457 489.

chadwhitacre added a commit that referenced this issue Jun 6, 2014
Now that the three scripts involved in account cancelation have been
moved to (tested) methods on Participant, we're ready to wire up the UI.
This commit rebases the original work we did on the UI on top of the
separate line of development we ended up pursuing for the Participant
methods.
chadwhitacre added a commit that referenced this issue Jun 6, 2014
Now that the three scripts involved in account cancelation have been
moved to (tested) methods on Participant, we're ready to wire up the UI.
This commit rebases the original work we did on the UI on top of the
separate line of development we ended up pursuing for the Participant
methods.
chadwhitacre added a commit that referenced this issue Jun 6, 2014
Now that the three scripts involved in account cancelation have been
moved to (tested) methods on Participant, we're ready to wire up the UI.
This commit rebases the original work we did on the UI on top of the
separate line of development we ended up pursuing for the Participant
methods.
@chadwhitacre
Copy link
Contributor Author

screen shot 2014-06-06 at 11 27 55 am

"Learn more" link leads to https://www.facebook.com/help/224562897555674.

chadwhitacre added a commit that referenced this issue Jun 10, 2014
Now that the three scripts involved in account cancelation have been
moved to (tested) methods on Participant, we're ready to wire up the UI.
This commit rebases the original work we did on the UI on top of the
separate line of development we ended up pursuing for the Participant
methods.
chadwhitacre added a commit that referenced this issue Jun 11, 2014
Now that the three scripts involved in account cancelation have been
moved to (tested) methods on Participant, we're ready to wire up the UI.
This commit rebases the original work we did on the UI on top of the
separate line of development we ended up pursuing for the Participant
methods.
@Changaco
Copy link
Contributor

#2412 is merged and deployed.

@chadwhitacre
Copy link
Contributor Author

Opened: June 14, 2012
Closed: June 13, 2014

Almost two years to the day! :-)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

10 participants