@aglyn/shared-util-email 1.0.0-beta.219 → 1.0.0-beta.220

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -262,6 +262,7 @@ export const RISK_STAFF_ACTIONS = {
262
262
  * as a hole in a sentence.
263
263
  */ export const RISK_NOTICE_TOKENS = {
264
264
  'workspace.name': 'The workspace name, or "your workspace".',
265
+ 'site.label': 'The site the notice is about, as `the site "Harbor View"`, or "your site".',
265
266
  'item.label': 'What the notice is about, in the owner\'s words: the campaign "Spring sale", the page /pricing, order 1042.',
266
267
  'item.url': 'The absolute console link to the item.',
267
268
  occurredAt: 'When it happened, in UTC.',
@@ -272,9 +273,32 @@ export const RISK_STAFF_ACTIONS = {
272
273
  'lock.message': 'The message staff wrote when they applied the lock.',
273
274
  'lock.affected': 'What the lock or pause covers: sites, sessions, billing.',
274
275
  amount: 'The payment amount, when there is one.',
276
+ 'payment.event': 'What happened to a payment, finishing "the payment was …": flagged for a fraud check, disputed by the cardholder with their bank.',
277
+ 'page.visitors': 'What visitors see while a held page waits, as one sentence.',
275
278
  'evidence.dueBy': 'The date dispute evidence is due, when Stripe gave one.',
279
+ 'payout.delay': 'A new publisher\'s payout schedule, finishing "moved to an extended schedule:": each payout reaches your bank 14 days after the sale, until your workspace is 30 days old.',
276
280
  'staff.evidence': 'Staff only: what the screen or Stripe reported.'
277
281
  };
282
+ /**
283
+ * `{{payment.event}}` for each card signal a payment can draw, in the owner's
284
+ * words. The early warning and the review are told apart, because only one
285
+ * of them has held the money; a dispute is the bank's, and says so.
286
+ */ export const RISK_PAYMENT_EVENTS = {
287
+ 'early-fraud-warning': 'reported by the card issuer as possibly not made by the cardholder',
288
+ 'radar-review': 'held for a fraud review',
289
+ dispute: 'disputed by the cardholder with their bank'
290
+ };
291
+ /** `14 days`, `1 day`. */ function dayCount(days) {
292
+ return `${days} ${days === 1 ? 'day' : 'days'}`;
293
+ }
294
+ /**
295
+ * `{{payout.delay}}`: how long a new publisher's payouts wait, and until
296
+ * when. The numbers are the marketplace's own payout terms, passed in by the
297
+ * caller, and the notice states them: the schedule is money the publisher is
298
+ * owed and when it lands, not how anything was detected.
299
+ */ export function riskPayoutDelayText(payout) {
300
+ return `each payout reaches your bank ${dayCount(payout.delayDays)} after the sale, ` + `until your workspace is ${dayCount(payout.untilWorkspaceAgeDays)} old`;
301
+ }
278
302
  const ASK_FOR_REVIEW = 'If you think this is a mistake, choose Request a review and tell us about it. A person reads every request.';
279
303
  const REVIEW_TIME = 'Reviews are usually answered within one business day. You will get a notice either way.';
280
304
  const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {{support.email}} with the reference {{reference}}.';
@@ -304,7 +328,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
304
328
  owner: {
305
329
  title: 'An email is on hold for review',
306
330
  summary: 'Our automated safety review held {{item.label}} from {{workspace.name}} on {{occurredAt}} before it was sent.',
307
- meaning: 'This email was not sent. Nobody on your list received it, and nothing else on your account has changed.',
331
+ meaning: 'This email was not delivered to anyone. Other emails with the same links or wording are stopped too while it is under review. Nothing else on your account has changed.',
308
332
  steps: [
309
333
  'Open the email and check its links, its sender name and its wording.',
310
334
  'If you change it, it is checked again when it next sends.',
@@ -342,7 +366,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
342
366
  owner: {
343
367
  title: 'Your held email was released',
344
368
  summary: 'Our review team released {{item.label}} on {{occurredAt}}.',
345
- meaning: 'A held campaign goes back on the schedule and sends shortly. An automated email sends the next time it runs.',
369
+ meaning: 'A held campaign that is still waiting goes back on the schedule and sends shortly; one you edited or canceled meanwhile stays as you left it. An automated email sends the next time it runs. A single email that was stopped, such as a receipt or a form reply, is not sent again, and the next one like it sends normally.',
346
370
  steps: [
347
371
  'Nothing to do. If you edit the email before it sends, the edited version is checked on its own.'
348
372
  ],
@@ -370,8 +394,8 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
370
394
  helpAnchor: 'email-held',
371
395
  owner: {
372
396
  title: 'A held email will not be sent',
373
- summary: 'After review, {{item.label}} was not approved on {{occurredAt}}.',
374
- meaning: 'This email will not be sent in its current form. A held campaign is canceled; an automated email step stays stopped.',
397
+ summary: 'After review, {{item.label}} from {{workspace.name}} was not approved on {{occurredAt}}.',
398
+ meaning: 'This email will not be sent in its current form, and other emails with the same links or wording are stopped too until they are changed. A held campaign that was still waiting is canceled; an automated email step stays stopped.',
375
399
  steps: [
376
400
  'Read our acceptable use rules before you send similar mail again.',
377
401
  'If you think the decision is wrong, choose Request a review and explain what the email is for.'
@@ -407,8 +431,8 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
407
431
  helpAnchor: 'page-held',
408
432
  owner: {
409
433
  title: 'A published page is on hold for review',
410
- summary: 'Our automated safety review held the latest version of {{item.label}} on {{occurredAt}}.',
411
- meaning: 'Visitors still see the previous version of this page. If it has never been published before, visitors see a not-found page until the review is done.',
434
+ summary: 'On {{occurredAt}}, our automated safety review held the latest version of {{item.label}} on {{site.label}}.',
435
+ meaning: '{{page.visitors}} Nothing else on the site has changed.',
412
436
  steps: [
413
437
  'Open the page and check its links, embeds and any fields that ask visitors for information.',
414
438
  'If you change and publish it again, the new version is checked on its own.',
@@ -446,7 +470,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
446
470
  helpAnchor: 'page-held',
447
471
  owner: {
448
472
  title: 'Your held page is live',
449
- summary: 'Our review team released {{item.label}} on {{occurredAt}}.',
473
+ summary: 'On {{occurredAt}}, our review team released {{item.label}} on {{site.label}}.',
450
474
  meaning: 'Visitors now see the version that was held.',
451
475
  steps: [
452
476
  'Nothing to do. Open the page to confirm it looks right.'
@@ -479,7 +503,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
479
503
  helpAnchor: 'page-flagged',
480
504
  owner: {
481
505
  title: 'A live page is being reviewed',
482
- summary: 'Our automated safety review flagged {{item.label}} on {{occurredAt}}. The page is still live.',
506
+ summary: 'On {{occurredAt}}, our automated safety review flagged {{item.label}} on {{site.label}}. The page is still live.',
483
507
  meaning: 'Visitors still see the page while a person looks. If you did not publish what is on it, someone else may have access to your account.',
484
508
  steps: [
485
509
  'Open the page and check its links, embeds and any fields that ask visitors for information.',
@@ -517,7 +541,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
517
541
  helpAnchor: 'page-held',
518
542
  owner: {
519
543
  title: 'A held page will not be published',
520
- summary: 'After review, the held version of {{item.label}} was not approved on {{occurredAt}}.',
544
+ summary: 'On {{occurredAt}}, after review, our team did not approve the held version of {{item.label}} on {{site.label}}.',
521
545
  meaning: 'Visitors keep seeing the previous version, or a not-found page if there is none. Publishing the same content again is held again.',
522
546
  steps: [
523
547
  'Change the page and publish a new version, or restore an earlier version from its history.',
@@ -590,9 +614,9 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
590
614
  includeSiteManagers: false,
591
615
  helpAnchor: 'listing-held',
592
616
  owner: {
593
- title: 'Your marketplace submission was released',
594
- summary: 'Our review team released {{item.label}} on {{occurredAt}}.',
595
- meaning: 'It was not published automatically.',
617
+ title: 'Your marketplace submission was cleared',
618
+ summary: 'On {{occurredAt}}, our review team cleared {{item.label}} from {{workspace.name}}. It is not listed yet: submit it again and it will go through.',
619
+ meaning: 'It was not published automatically, so buyers cannot see it until you submit it again.',
596
620
  steps: [
597
621
  'Submit it again; it will go through this time.'
598
622
  ],
@@ -656,8 +680,8 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
656
680
  helpAnchor: 'domain-flagged',
657
681
  owner: {
658
682
  title: 'A domain you added is being reviewed',
659
- summary: '{{item.label}} was added to {{workspace.name}} on {{occurredAt}} and is waiting on a routine review.',
660
- meaning: 'The domain stays connected while we look. Email sent from it may wait for the review to finish.',
683
+ summary: 'On {{occurredAt}}, {{item.label}} was added to {{workspace.name}}, and it is waiting on a routine review by our team.',
684
+ meaning: 'The domain stays connected while we look, and nothing is charged. If you send email from it, that email is stopped and held for its own review, whatever this review decides.',
661
685
  steps: [
662
686
  'Nothing is needed if the domain and the name on it are yours.',
663
687
  'To speed it up, choose Request a review and tell us who owns the domain and what it is for.',
@@ -692,8 +716,8 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
692
716
  helpAnchor: 'domain-flagged',
693
717
  owner: {
694
718
  title: 'Your domain review is complete',
695
- summary: '{{item.label}} was reviewed and cleared on {{occurredAt}}.',
696
- meaning: 'The domain works as normal. Email that was waiting on it sends on its next attempt.',
719
+ summary: 'On {{occurredAt}}, our team reviewed {{item.label}} on {{workspace.name}} and cleared it.',
720
+ meaning: 'The domain stays connected. If you send email from it, clearing the domain does not release that email: an email that was stopped is not sent again, and new email from it still goes through its own review.',
697
721
  steps: [
698
722
  'Nothing to do.'
699
723
  ],
@@ -721,8 +745,8 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
721
745
  helpAnchor: 'domain-flagged',
722
746
  owner: {
723
747
  title: 'A domain on your workspace was not approved',
724
- summary: 'After review, {{item.label}} was not approved on {{occurredAt}}.',
725
- meaning: 'Email from this domain will not be sent, and pages served on it may be restricted.',
748
+ summary: 'On {{occurredAt}}, after review, our team did not approve {{item.label}} on {{workspace.name}}.',
749
+ meaning: 'This decision by itself does not disconnect the domain or change your sites. If you send email from it, that email keeps being stopped.',
726
750
  steps: [
727
751
  'Remove the domain from your workspace, or show us that it is yours.',
728
752
  'If you think the decision is wrong, choose Request a review with proof of ownership.'
@@ -758,7 +782,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
758
782
  helpAnchor: 'billing-payment-flagged',
759
783
  owner: {
760
784
  title: 'A payment on your subscription needs attention',
761
- summary: 'On {{occurredAt}}, a subscription payment of {{amount}} for {{workspace.name}} was flagged for a fraud check.',
785
+ summary: 'On {{occurredAt}}, a subscription payment of {{amount}} for {{workspace.name}} was {{payment.event}}.',
762
786
  meaning: 'The payment may be reversed by the cardholder\'s bank. If it is, your subscription may need a new payment method, and your plan can change.',
763
787
  steps: [
764
788
  'If you made this payment, choose Request a review and confirm it, so we can answer the bank.',
@@ -799,12 +823,12 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
799
823
  includeSiteManagers: true,
800
824
  helpAnchor: 'link-blocked',
801
825
  owner: {
802
- title: 'A link on your store was blocked',
803
- summary: 'On {{occurredAt}}, we stopped sending anyone to {{item.label}}, because the address looks like another company\'s website.',
804
- meaning: 'Nobody who follows that link is sent there. Everything else on your store works as normal.',
826
+ title: 'A link on {{site.label}} was blocked',
827
+ summary: 'On {{occurredAt}}, we blocked {{item.label}} on {{site.label}}, because the address looks like another company\'s website.',
828
+ meaning: 'Nobody who follows that link is sent there. Everything else on the site works as normal, and nothing is charged.',
805
829
  steps: [
806
- 'Replace it with a file from your media library or a link on your own domain.',
807
- 'If the address really is yours, choose Request a review and tell us about it.'
830
+ 'Replace it with a file from your media library or a link on your own domain. The link stays blocked whatever a review decides, so replacing it is the way to make it work again.',
831
+ 'If the address really is yours, you can still tell us with Request a review.'
808
832
  ],
809
833
  actions: [
810
834
  'view-details',
@@ -829,7 +853,9 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
829
853
  severity: 'urgent',
830
854
  emailOwners: true,
831
855
  alertStaff: true,
832
- neverDigest: false,
856
+ // Which site, and that its orders need checking before they ship, is the
857
+ // point of the notice; a digest would drop both.
858
+ neverDigest: true,
833
859
  reviewable: true,
834
860
  closesWith: {
835
861
  released: 'review-cleared',
@@ -838,8 +864,8 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
838
864
  includeSiteManagers: true,
839
865
  helpAnchor: 'card-testing',
840
866
  owner: {
841
- title: 'Unusual checkout activity on your site',
842
- summary: 'On {{occurredAt}}, the checkout on {{item.label}} saw an unusual burst of payment attempts, which can be someone testing stolen cards.',
867
+ title: 'Unusual checkout activity on {{site.label}}',
868
+ summary: 'On {{occurredAt}}, checkout on {{site.label}} saw an unusual burst of payment attempts, which can be someone testing stolen cards.',
843
869
  meaning: 'Checkout is still open. Repeated attempts from one source are being slowed. Payments from stolen cards may be reversed by the cardholder\'s bank later.',
844
870
  steps: [
845
871
  'Review your recent orders before you fulfill them.',
@@ -854,7 +880,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
854
880
  },
855
881
  staff: {
856
882
  title: 'Card-testing velocity on a site',
857
- summary: '{{item.label}} of {{workspace.name}}. {{staff.evidence}} Nothing has been refused site-wide or refunded. Reference {{reference}}.',
883
+ summary: 'Unusual burst of card payments: {{item.label}}, workspace {{workspace.name}}. {{staff.evidence}} Nothing has been refused site-wide or refunded. Reference {{reference}}.',
858
884
  actions: [
859
885
  'staff-open-row',
860
886
  'staff-lock-site',
@@ -876,7 +902,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
876
902
  helpAnchor: 'gift-card-hold',
877
903
  owner: {
878
904
  title: 'Gift cards from an order are on hold',
879
- summary: 'On {{occurredAt}}, the gift cards bought with {{item.label}} were put on hold because the payment for it is in question.',
905
+ summary: 'On {{occurredAt}}, we put on hold the gift cards bought with {{item.label}} on {{site.label}}, because the payment for that order is in question.',
880
906
  meaning: 'They cannot be redeemed for now. Their balance is kept. If the payment is refunded or the dispute is lost, the balance is voided for you.',
881
907
  steps: [
882
908
  'Check the order and the buyer.',
@@ -891,7 +917,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
891
917
  },
892
918
  staff: {
893
919
  title: 'Gift cards frozen on a questioned payment',
894
- summary: '{{item.label}} on {{workspace.name}}. {{staff.evidence}}',
920
+ summary: 'Gift cards bought with {{item.label}} on {{workspace.name}} were frozen. {{staff.evidence}}',
895
921
  actions: [
896
922
  'staff-view-workspace',
897
923
  'staff-lock-site'
@@ -909,11 +935,11 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
909
935
  helpAnchor: 'sale-fraud-warning',
910
936
  owner: {
911
937
  title: 'A payment you received may be fraudulent',
912
- summary: 'On {{occurredAt}}, the card issuer reported the payment for {{item.label}} ({{amount}}) as possibly not made by the cardholder.',
938
+ summary: 'On {{occurredAt}}, the card issuer reported the payment for {{item.label}} on {{site.label}} ({{amount}}) as possibly not made by the cardholder.',
913
939
  meaning: 'This payment may be reversed by the cardholder\'s bank. It is not a chargeback yet. Nothing has been refunded or canceled.',
914
940
  steps: [
915
941
  'Hold anything not yet shipped or delivered until you are sure the buyer is genuine.',
916
- 'Refunding now usually prevents a chargeback and its fee.',
942
+ 'Refunding now usually prevents a chargeback. If a chargeback is decided for the cardholder, the payment is taken back from you.',
917
943
  'If you know the buyer and the sale is genuine, you can keep the order.'
918
944
  ],
919
945
  actions: [
@@ -944,7 +970,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
944
970
  helpAnchor: 'sale-payment-review',
945
971
  owner: {
946
972
  title: 'A payment you received is on hold for review',
947
- summary: 'On {{occurredAt}}, the payment for {{item.label}} ({{amount}}) was held for a fraud review.',
973
+ summary: 'On {{occurredAt}}, the payment for {{item.label}} on {{site.label}} ({{amount}}) was held for a fraud review.',
948
974
  meaning: 'The payment has not reached your balance yet and may be refunded if it is not approved. Nothing has been refunded or canceled.',
949
975
  steps: [
950
976
  'Hold anything not yet shipped or delivered until the payment clears.',
@@ -972,13 +998,14 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
972
998
  severity: 'urgent',
973
999
  emailOwners: true,
974
1000
  alertStaff: false,
975
- neverDigest: false,
1001
+ // Its evidence deadline is the point of the notice; a digest would drop it.
1002
+ neverDigest: true,
976
1003
  reviewable: false,
977
1004
  includeSiteManagers: true,
978
1005
  helpAnchor: 'sale-dispute',
979
1006
  owner: {
980
1007
  title: 'A customer disputed a payment',
981
- summary: 'On {{occurredAt}}, the cardholder disputed the payment for {{item.label}} ({{amount}}) with their bank.',
1008
+ summary: 'On {{occurredAt}}, the cardholder disputed the payment for {{item.label}} on {{site.label}} ({{amount}}) with their bank.',
982
1009
  meaning: 'The payment may be reversed by the cardholder\'s bank. An unanswered dispute is decided for the cardholder. Your evidence is due by {{evidence.dueBy}}.',
983
1010
  steps: [
984
1011
  'Open the order and gather what shows the sale was genuine: receipts, delivery tracking, messages with the buyer.',
@@ -1056,7 +1083,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1056
1083
  helpAnchor: 'marketplace-sale-review',
1057
1084
  owner: {
1058
1085
  title: 'A marketplace sale is under review',
1059
- summary: 'On {{occurredAt}}, our team opened a routine review of {{item.label}} ({{amount}}).',
1086
+ summary: 'On {{occurredAt}}, our team opened a routine review of {{item.label}} ({{amount}}) for {{workspace.name}}.',
1060
1087
  meaning: 'The sale is recorded as usual, and its payout may take longer than normal. Nothing has been refunded.',
1061
1088
  steps: [
1062
1089
  'Nothing is needed from you.',
@@ -1093,7 +1120,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1093
1120
  helpAnchor: 'marketplace-sale-review',
1094
1121
  owner: {
1095
1122
  title: 'A marketplace sale may be reversed',
1096
- summary: 'On {{occurredAt}}, the payment for {{item.label}} was reported as possibly not made by the cardholder, or held for a fraud check.',
1123
+ summary: 'On {{occurredAt}}, the payment for {{item.label}} ({{amount}}) to {{workspace.name}} was {{payment.event}}.',
1097
1124
  meaning: 'This payment may be reversed by the cardholder\'s bank. If it is, your share of it is taken back from your payouts. Nothing has been refunded yet.',
1098
1125
  steps: [
1099
1126
  'Nothing is needed from you: the marketplace handles the payment with the buyer\'s bank.',
@@ -1124,8 +1151,8 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1124
1151
  helpAnchor: 'marketplace-payouts',
1125
1152
  owner: {
1126
1153
  title: 'Your marketplace payouts are on an extended schedule',
1127
- summary: 'On {{occurredAt}}, payouts for {{workspace.name}}\'s marketplace sales moved to an extended schedule.',
1128
- meaning: 'Payouts to new publishers wait for a period before they reach your bank. Your sales are recorded as usual and pay out automatically when the period ends.',
1154
+ summary: 'On {{occurredAt}}, payouts for {{workspace.name}}\'s marketplace sales moved to an extended schedule: {{payout.delay}}.',
1155
+ meaning: 'Nothing is withheld or charged. Your sales are recorded as usual, and each one pays out automatically when its wait ends.',
1129
1156
  steps: [
1130
1157
  'Nothing to do. You will get a notice when payouts return to the standard schedule.'
1131
1158
  ],
@@ -1181,7 +1208,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1181
1208
  helpAnchor: 'requesting-a-review',
1182
1209
  owner: {
1183
1210
  title: 'Our review is complete',
1184
- summary: 'On {{occurredAt}}, our team finished reviewing {{item.label}} and closed it with no action.',
1211
+ summary: 'On {{occurredAt}}, our team finished reviewing {{item.label}} on {{workspace.name}} and closed it with no action.',
1185
1212
  meaning: 'Nothing on your account changes because of it.',
1186
1213
  steps: [
1187
1214
  'Nothing to do.'
@@ -1210,10 +1237,10 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1210
1237
  helpAnchor: 'requesting-a-review',
1211
1238
  owner: {
1212
1239
  title: 'Our review found a problem',
1213
- summary: 'On {{occurredAt}}, our team finished reviewing {{item.label}} and took action on it.',
1214
- meaning: 'You may receive a separate notice about what changed on your account, such as a lock or a canceled subscription.',
1240
+ summary: 'On {{occurredAt}}, our team finished reviewing {{item.label}} on {{workspace.name}} and did not clear it.',
1241
+ meaning: 'This decision by itself does not lock anything, take anything down or change your billing. If we take any further step, you will get a separate notice saying exactly what changed.',
1215
1242
  steps: [
1216
- 'Read any other notices you received today; they say what changed.',
1243
+ 'If another notice arrives, it says what changed. If none does, nothing else has changed.',
1217
1244
  'If you think the decision is wrong, choose Request a review or contact support with the reference {{reference}}.'
1218
1245
  ],
1219
1246
  actions: [
@@ -1245,7 +1272,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1245
1272
  summary: 'On {{occurredAt}}, our team locked {{workspace.name}}. The message from our team: {{lock.message}}',
1246
1273
  meaning: 'While it is locked: {{lock.affected}}',
1247
1274
  steps: [
1248
- 'Read the message above; it says what we need from you.',
1275
+ 'Nothing is needed from you unless the message above asks for something, or you believe this is a mistake.',
1249
1276
  CANNOT_SIGN_IN,
1250
1277
  'Tell us who you are, what the workspace is for, and anything that explains what happened. A person reads every appeal.'
1251
1278
  ],
@@ -1307,7 +1334,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1307
1334
  summary: 'On {{occurredAt}}, our team locked {{item.label}}. The message from our team: {{lock.message}}',
1308
1335
  meaning: 'While it is locked: {{lock.affected}}',
1309
1336
  steps: [
1310
- 'Read the message above; it says what we need from you.',
1337
+ 'Nothing is needed from you unless the message above asks for something, or you believe this is a mistake.',
1311
1338
  'Contact support to appeal, with the reference {{reference}}. A person reads every appeal.',
1312
1339
  CANNOT_SIGN_IN
1313
1340
  ],
@@ -1368,7 +1395,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1368
1395
  summary: 'On {{occurredAt}}, our team locked {{item.label}}. The message from our team: {{lock.message}}',
1369
1396
  meaning: 'While it is locked: {{lock.affected}}',
1370
1397
  steps: [
1371
- 'Read the message above; it says what we need from you.',
1398
+ 'Nothing is needed from you unless the message above asks for something, or you believe this is a mistake.',
1372
1399
  'Contact support to appeal, with the reference {{reference}}.'
1373
1400
  ],
1374
1401
  actions: [
@@ -1424,9 +1451,9 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1424
1451
  owner: {
1425
1452
  title: 'Your account has been locked',
1426
1453
  summary: 'On {{occurredAt}}, our team locked your {{brand.productName}} account. The message from our team: {{lock.message}}',
1427
- meaning: 'While it is locked: {{lock.affected}}',
1454
+ meaning: 'What this means: {{lock.affected}}',
1428
1455
  steps: [
1429
- 'Read the message above; it says what we need from you.',
1456
+ 'Nothing is needed from you unless the message above asks for something, or you believe this is a mistake.',
1430
1457
  APPEAL_BY_REPLY
1431
1458
  ],
1432
1459
  actions: [
@@ -1479,11 +1506,11 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1479
1506
  includeSiteManagers: false,
1480
1507
  helpAnchor: 'locked',
1481
1508
  owner: {
1482
- title: '{{item.label}} is paused on {{workspace.name}}',
1483
- summary: 'On {{occurredAt}}, our team paused {{item.label}} for {{workspace.name}}. The message from our team: {{lock.message}}',
1509
+ title: 'Paused on {{workspace.name}}: {{item.label}}',
1510
+ summary: 'On {{occurredAt}}, our team paused {{item.label}} on {{workspace.name}}. The message from our team: {{lock.message}}',
1484
1511
  meaning: 'Everything else on your workspace keeps working. {{lock.affected}}',
1485
1512
  steps: [
1486
- 'Read the message above; it says what we need from you.',
1513
+ 'Nothing is needed from you unless the message above asks for something, or you believe this is a mistake.',
1487
1514
  'Contact support with the reference {{reference}} if you have questions.'
1488
1515
  ],
1489
1516
  actions: [
@@ -1492,7 +1519,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1492
1519
  },
1493
1520
  staff: {
1494
1521
  title: 'Workspace feature paused',
1495
- summary: '{{item.label}} was paused for {{workspace.name}} on {{occurredAt}}.',
1522
+ summary: 'Paused for {{workspace.name}} on {{occurredAt}}: {{item.label}}.',
1496
1523
  actions: [
1497
1524
  'staff-unlock',
1498
1525
  'staff-view-workspace'
@@ -1509,7 +1536,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1509
1536
  includeSiteManagers: false,
1510
1537
  helpAnchor: 'locked',
1511
1538
  owner: {
1512
- title: '{{item.label}} is back on {{workspace.name}}',
1539
+ title: 'Back on for {{workspace.name}}: {{item.label}}',
1513
1540
  summary: 'On {{occurredAt}}, our team turned {{item.label}} back on for {{workspace.name}}.',
1514
1541
  meaning: 'What happens now: {{lock.affected}}',
1515
1542
  steps: [
@@ -1521,7 +1548,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1521
1548
  },
1522
1549
  staff: {
1523
1550
  title: 'Workspace feature restored',
1524
- summary: '{{item.label}} was restored for {{workspace.name}} on {{occurredAt}}.',
1551
+ summary: 'Restored for {{workspace.name}} on {{occurredAt}}: {{item.label}}.',
1525
1552
  actions: [
1526
1553
  'staff-view-workspace'
1527
1554
  ]
@@ -1541,7 +1568,7 @@ const CANNOT_SIGN_IN = 'If you cannot sign in, reply to this email or write to {
1541
1568
  summary: 'On {{occurredAt}}, our team canceled the subscription for {{workspace.name}}.',
1542
1569
  meaning: 'What changes: {{lock.affected}}',
1543
1570
  steps: [
1544
- 'Export anything you need from your workspace.',
1571
+ 'Nothing is deleted. Your sites and data stay when the workspace moves to the Free plan.',
1545
1572
  'Contact support if you believe this was a mistake, with the reference {{reference}}.'
1546
1573
  ],
1547
1574
  actions: [
@@ -1590,6 +1617,7 @@ export function isRiskEventKind(value) {
1590
1617
  * a sentence never has a hole in it.
1591
1618
  */ const TOKEN_FALLBACKS = {
1592
1619
  'workspace.name': 'your workspace',
1620
+ 'site.label': 'your site',
1593
1621
  'item.label': 'an item on your workspace',
1594
1622
  occurredAt: 'a recent date',
1595
1623
  reference: 'shown on this notice',
@@ -1597,7 +1625,10 @@ export function isRiskEventKind(value) {
1597
1625
  'lock.message': 'None was given.',
1598
1626
  'lock.affected': 'see your account for details.',
1599
1627
  amount: 'an amount shown on the payment',
1628
+ 'payment.event': 'flagged for a fraud check',
1629
+ 'page.visitors': 'Visitors see the previous version of this page, or a not-found page if it was never published, until the review is done.',
1600
1630
  'evidence.dueBy': 'the date shown on the order',
1631
+ 'payout.delay': 'each payout waits a set number of days after the sale before it reaches your bank',
1601
1632
  'staff.evidence': '',
1602
1633
  'brand.productName': 'the platform'
1603
1634
  };