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

rework payin_suspension into is_suspicious #354

Closed
chadwhitacre opened this issue Nov 4, 2012 · 2 comments
Closed

rework payin_suspension into is_suspicious #354

chadwhitacre opened this issue Nov 4, 2012 · 2 comments

Comments

@chadwhitacre
Copy link
Contributor

What we really want to do is provide facilities for marking accounts as suspicious. Then we can use that to drive visualizations of how stolen money is getting into the system and where it is going from there. We can also use that field to drive payin/payout suspension. And we can make streamlined manual interfaces for marking accounts as suspicious, as well as writing automations for the same.

The is_suspicious field should be bool DEFAULT NULL:

  • NULL: not reviewed
  • true: is suspicious
  • false: is not suspicious

Instead of making it a field of participants, it should be a table that we INSERT into (a la tips). To start with it we'll only have UI for admins to set is_suspicious state. As needed in the future we can add UI for anyone to flag suspicious accounts, as a way of crowd-sourcing that work.

Account review state should be be displayed to the user on their profile page. Something like:

This account must be reviewed before payments are processed. Accounts are usually reviewed within 48 hours of account creation.

@sigmavirus24
Copy link
Contributor

What about creating some kind of metric as to how suspicious someone is? e.g.,

delpan has 0 repositories, has 0 events, has 0 forks, has 0 followers, follows 0 people and created his account on Gittip almost immediately after creating the GitHub account, therefore he is 99% (or 100%, whatever) suspicious.

However, @kennethreitz, has a crazy amount of repositories, events, forks, followers and followees and has had his GitHub account for probably 2 years before making a Gittip account. He's 1% suspicious. And set a threshold, however high or low for is_suspicious to be True or False. This can float back and forth and update (ideally) long before payouts, say the night before. Most of this information can be found via the user endpoint on the GitHub API. Then again, instead of crafting these requests yourself, you could use one of the awesome python wrappers for the GitHub API. @copitux and I both have wrappers, it just depends on which style you prefer. (py-github3 is @copitux's iirc and mine is github3.py)

@chadwhitacre
Copy link
Contributor Author

@sigmavirus24 Let's use #360 for discussing more fine-grained algorithm like you suggest.

chadwhitacre added a commit that referenced this issue Nov 8, 2012
We're going to allow intra-Gittip transfers for people with
is_suspicious=NULL. The thing we're restricting to is_suspicious=false
is exchanging money with the outside world (credit card and bank
deposit).
chadwhitacre added a commit that referenced this issue Nov 8, 2012
This makes logging nicer. Now we know if we see an UNREVIEWED then we
otherwise would have actually charged/credited them.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants