What amount of flexibility is allowed in the "Period Length" ? If it could be set to 1 hour I don't see a major issue. What about 1 a day?
If there is only one transaction allowed per period then there is a problem balancing two trade-offs:
- If the period is long, there is no flexibility to allow for (even slightly) irregular payments. You must know that for the whole span, one payment will be required, and no more.
- If the period is made shorter, this somewhat allows for unpredictably spaced payments. BUT there is a security risk as the payments can quickly stack up because of the short period.
In the debit card example in my post above, you may wish to buy something from a shop for $100 dollars, then 10 minutes later buy something elsewhere for $10. If the permissions allow $150 per hour and your card is stolen it could be very expensive ($3600 lost per day). If, however the permissions were set at $150 per day, you would, in this scenario, be unable to buy the second item (because you're restricted to one transaction per period).
THE FIX: If you could specify
max. number of transactions per period you could set $150 per day with unlimited number of transactions. This would fix the problems and you could go shopping.
Another example:
Adam wants to allow his daughter Becky limited access to recurring payments from his BitShares account. Becky is moving out of the family home and Adam wishes her to have money available in case of emergency. If the period length is set as 1 month with $300 allowed, Becky could have two emergencies in a month and be unable to get access to money to cover the second emergency (even if she'd only taken $60 for the first emergency). If Adam sets the period length at 1 day the amount would have to be proportionately higher, say $100 (because $10 perhaps wouldn't cover an emergency). Then Becky could go out and spend $100 per day, costing Adam $3000 in a month.
THE FIX: Have the ability to set the period length at 1 month, the max. amount at $300, and the
max. number of transactions at >1