Skip to content

Decision board ​

For Frontier staff who own a decision. No technical knowledge needed. Updated 2026-10-27. Thomas keeps it current. The full detail for engineers is in DECISIONS.md, under the same numbers. What could go wrong, and who owns each risk, is on the Risk board.

How to answer ​

  1. Find your role in the table below.
  2. Read your cards. Each one explains the question, gives an example, lists the choices and says what we suggest.
  3. Reply to Thomas with the number and a letter, for example 21: B.
  4. Some cards are marked Please confirm. Thomas already chose and built something there, because work could not wait. It is still your decision. Reply confirm, or tell us what to change. Each of these cards says what changes if you say no.
  5. A card marked For information or Please note needs no reply.
  6. Not sure? Ask for a ten-minute call. That is quicker than guessing.

"By" dates are suggestions. Most are set by the cutover: the day the old membership system (PMPro) is switched off. The proposal is to move everyone on Tuesday 11 November and switch PMPro off on Friday 14 November (the table in the roadmap, docs/ROADMAP.md). These are proposals: the owner sets the dates (#18). Each card says what happens if no answer arrives by then.

Words we use ​

WordMeans
FMSThe new membership system. It decides who is a member, takes card payments through Stripe, and tells the website who may read what
PMProThe old membership system inside the website. It is switched off at cutover
CutoverThe day PMPro is switched off, a few days after every member moved to FMS on one morning (card 52)
Hand over, On PMProMoving members from PMPro to FMS on the console's Migration screen: everyone at once, on one morning. Until then, members show On PMPro and PMPro keeps serving them. Hand back returns a group to PMPro if something goes wrong
The consoleFMS's screens for staff. Each colleague gets their own sign-in on the Staff screen
StripeThe card company. Frontier has two Stripe accounts, one in Thailand and one in Singapore, because each accepts different cards
Omise (Opn Payments)A Thai card company. Being tested beside Stripe since 13 October. It is paid in Thai baht
Renewal, retryA membership renews by charging the card again. If that fails, Stripe tries again over the next few weeks. That is a retry
Mailchimp, tagMailchimp sends the newsletters. A tag is a label on a reader that decides which newsletters they get. FMS puts the right tags on each member
PlansCommunity is free. Friend, Follower and Fanatic are paid, from the cheapest up. Team plans are for organisations, priced by the number of seats
The archiveThe website's library of past newsletters, for members
Archive managerA colleague who can rename, order and hide newsletters in the archive, and choose who reads each one
Free membership given by staffStaff can give someone membership without payment, for example a partner or a journalist. Engineers call it a comp
The grantThe funder's grant that pays for this project. It has targets, such as "win back lapsed members"

Who decides what ​

RoleDecides
Business ownerWhat members get, the cutover date, accepting a risk in writing
MarketingMember emails, campaigns, newsletters, what members are told
FinancePrices, reports, the record of who changed money, money that does not match a plan
Legal / complianceConsent, personal data, how long it is kept, the card companies' yearly security form
Technical (Thomas)How it is built, run and secured

Thomas decides technical questions himself. Everything else belongs to the role above. When Thomas had to move first on someone else's question, the card says so and asks you to confirm.

#DecisionOwnerWhat we needBy
18The cutover dateBusiness ownerA, B or CNow
52Moving everyone from PMPro on one morningBusiness ownerThe date, and how many days PMPro stays on afterwardsBefore the hand-over
53Which emails each card company's members getBusiness ownerPlease confirm: Stripe's own emails stay on; the three new Omise emails read wellBefore any live Omise key
21A renewal fails: keep reading while Stripe retries?Business ownerNothing. Decided: B, builtBuilt 27 Oct
20If FMS stops answeringBusiness ownerNothing. Decided: C, 24 hoursDecided 27 Oct
37Who can do what on the consoleBusiness ownerPlease confirm, and look at Staff10 Oct
50Omise prices in baht: typed by hand, or worked out from the dollar price?Business ownerNothing. DecidedBuilt 15 Oct
51What a member sees and pays when Omise takes the cardBusiness ownerNothing. Built, for informationBuilt 15 Oct
45Staff changing a member's planBusiness ownerPlease confirmBefore cutover
46Moving a free or bank-paid member to paying by invoiceBusiness ownerPlease confirmBefore cutover
47A code from your phone at every console sign-inBusiness ownerNothing. Please noteBuilt 11 Oct
48Taking payments through Opn (Omise) in ThailandBusiness ownerA or B. Omise has answeredBefore any live Opn key
49Where members manage their card, and what cancelling doesBusiness ownerPlease note, and yes or noBefore cutover
43Claude reading FMSBusiness ownerPlease confirm, or say "off"Before it is switched on
13Which plans include the newsletter archiveBusiness ownerPlease confirm, and tick Friend and Follower?10 Oct
35Friends and Followers in the archive: the ruleBusiness ownerPlease confirm10 Oct
33Two old PMPro featuresBusiness ownerPlease confirm. Both built 24 OctBefore cutover
40Who may move a website login onto a memberBusiness ownerPlease confirm10 Oct
4Articles locked by categoryBusiness ownerPlease confirm. Built 15 OctBefore cutover
26What members may do on Stripe's billing pageBusiness ownerA, B or CBefore cutover
1The 172 articles free members loseBusiness ownerPlease confirmBefore cutover
15Cancelling, and the account pageBusiness ownerPlease confirmBefore cutover
9Whose Google account sends member emailBusiness ownerA nameBefore cutover
17Who looks after the archive's newsletter listBusiness ownerPlease confirm, and names31 Oct
27Two memberships, several team adminsBusiness ownerA or BAfter cutover
31Monthly donationsBusiness ownerA, B or CAfter cutover
8A team's newsletter choice beats the member'sBusiness ownerPlease confirm10 Oct
54The archive follows each plan's newslettersBusiness ownerPlease confirmBefore cutover
55Testing never touches the live systemBusiness ownerNothing. For informationBuilt 24 Oct
2Member emails, and the win-back targetMarketingPlease confirm, and a number10 Oct
19Telling members about the cutoverMarketingA, B or C, and who writes it10 Oct
24Free newsletters for new sign-upsMarketingA, B or C10 Oct
35Friends and Followers in the archive: which newslettersMarketingYes, or your list10 Oct
10Joining for free on FMS's checkout pageMarketingPlease confirm10 Oct
41What the Mailchimp clean-up removes from non-membersMarketingPlease confirm10 Oct
30A campaign to turn free members into payersMarketingA, B or C, and the offer20 Oct
28Reading figures in the archiveMarketingA, B or C31 Oct
45Staff changing a member's planFinancePlease confirm, and the days to payBefore cutover
46Moving a free or bank-paid member to paying by invoiceFinancePlease confirm, and the issuing accountBefore cutover
48Taking payments through Opn (Omise) in ThailandFinancePlease confirm the baht reportsBefore any live Opn key
25Team prices at 16 and 17 seatsFinanceNothing. DecidedDecided 14 Oct
34Three old Stripe pricesFinanceA, B or C6 Oct
7What Finance needs from ReportsFinanceYes or no, three timesFirst month-end after cutover
11Mailchimp consent, and members behind on payment at cutoverLegal / compliancePlease confirmBefore cutover
22Deleting a member's data on requestLegal / complianceA, B or C, and two answers30 Nov
23Newsletters to a shared inboxLegal / complianceA or B30 Nov
29Archive pictures load from MailchimpLegal / complianceA or B30 Nov
12, 14How long logs and the activity record are keptLegal / compliancePlease confirm30 Nov
43What Claude is shown, and where it goesLegal / compliancePlease confirmBefore it is switched on

Business owner ​

18. The cutover date · Needs your decision · Now ​

What this is about. The day PMPro is switched off and FMS takes over. Two checks come first: a final test with the real Stripe accounts, and a full rehearsal on the new server.

Why it matters. Member emails, the win-back campaign and two grant targets all wait for a date. Staff need a day to plan leave and support around.

  • A. Keep 20–31 October. We confirm the day on 17 October, after the final rehearsal.
  • B. Move to early November. More time to test. Less data for the November grant report.
  • C. Set no date until the rehearsal passes. We never announce a date that slips, but Marketing cannot plan the member emails.

We suggest. A, on a Tuesday or Wednesday morning, away from a print deadline.

If you say nothing. We keep working towards 20–31 October, but announce no day.

Reply with. A, B or C. If A, a preferred day.

Update (15 Oct). Members now move to FMS a group at a time (card 52), so there is no single switch-over morning any more. This card now picks the window. Card 52 picks the order inside it, and the last day in it is when PMPro is switched off.

Update (27 Oct). You decided everyone moves on one morning (card 52). So this card picks two days: the morning everyone moves, and the day PMPro is switched off, two or three days later. Our proposal: everyone moves on Tuesday 11 November, PMPro off on Friday 14 November. It holds only if the final test and the rehearsal happen first. You can move either date.

52. Moving everyone from PMPro on one morning · Changed 27 Oct · Before the hand-over ​

What you decided. On 27 October you decided everyone moves to FMS on one morning. The earlier plan moved one group at a time, days apart. It assumed some members would stay on PMPro for weeks. That was a mistake. Nothing had to be rebuilt: the same screen does both.

How it works now.

  • Everyone is copied into FMS first. Until the morning, PMPro keeps serving them, and FMS changes nothing for them. On the console they show On PMPro.
  • On the morning, an owner presses Hand over everyone on the Migration screen. From then on FMS serves every member on the website: their account pages, their billing, their newsletters.
  • A few minutes later, a switch on the website sends people who join to FMS too.
  • PMPro stays switched on for two or three days afterwards. If something goes wrong in those days, we can go back in one click.
  • Then PMPro is switched off, as before. The website refuses to switch it off earlier.

The group-by-group tools stay. They are now for going back. If one group hits a problem in those days, only that group goes back to PMPro while it is fixed. The groups are teams, Fanatics, Followers, Friends, free Community members, and people with no membership. One team or one person can go back alone, and someone missed on the morning can move alone.

For example. Everyone moves on a Tuesday morning. On Wednesday a team admin cannot see their team. Thomas hands that one team back to PMPro. Everyone else stays on FMS. Thursday the fault is fixed and the team moves again. Friday PMPro is switched off.

What it costs now. Two systems run side by side for a few days, not weeks.

  • PMPro still runs its own nightly checks. A member whose free membership ends in PMPro during those days loses their newsletter labels for a while, and may get PMPro's "membership expired" email. They keep reading. The website lists each case, and FMS puts the labels back.
  • Unused PMPro gift codes and PMPro discount codes would not be moved by anything (risk MIG-18). On 27 October you confirmed there are none, so this risk is closed. If one turns up, staff give that person the membership by hand.
  • Every member sees the new pages on the same morning. Support questions arrive together. The member email (card 19) should go out that morning.

Two things only you can decide.

  • The date (card 18). We suggest Tuesday 11 November, a morning away from a print deadline.
  • How many days PMPro stays on afterwards. We suggest two or three. The same day is possible, but then going back is no longer one click.

If you say nothing. We prepare for 11 November with PMPro on until 14 November, but nobody tells members a date until you confirm one.

Reply with. A date and a number of days.

53. Which emails each card company's members get · Please confirm · Before any live Omise key ​

What you said. On 16 October: the emails FMS sends members should be decided per card company account. A Stripe account can be set, in Stripe's own dashboard, to send receipts, renewal reminders and failed-payment emails itself, so FMS need not email those members. Omise sends nothing, so FMS must.

What Thomas built the same day.

  • Each Stripe or Omise account now has its own Membership emails switches on its page under Settings → Connections. A member whose card is charged on that account gets only what is ticked there. Nothing else applies to them.
  • Settings → Email keeps the switches for members FMS looks after itself: free access given by staff, bank transfer, gifts and team seats. It also lists every account and what is ticked for it, so you can see the whole picture on one screen.
  • Omise accounts can send three emails Stripe already sends for its own members: Payment received after every charge, with a link to the receipt; Your membership renews soon, a set number of days before (7 unless changed) with the amount; and We couldn't charge your card, saying what happens next. Each is off until ticked. A member cannot switch these off: they are about money leaving their card.
  • Nothing changed for members today: every existing account inherited the Welcome and Your membership is cancelled settings that were on. An account added later starts with everything off.

For example. A Follower paying through Omise renews on 1 March. On 22 February she gets Your membership renews on 1 March for about ฿4,110. On 1 March the charge fails; she gets We couldn't charge your card. We'll try again on 4 March. She changes her card on her billing page, the new card is charged, and she gets Payment received with her receipt. A Fanatic paying through the Thailand Stripe account gets all of that from Stripe, and from FMS only a welcome, if that is ticked.

Why we need you. Two things. In each Stripe account's dashboard the emails must stay on, or those members hear from nobody. And the wording of the three Omise emails: press Preview beside each and tell Thomas what to change.

If you say no. Ticking every switch on every account's page gets the old behaviour back in a minute. Nothing is lost.

Reply with. 53: confirm, and any wording changes.

21. A renewal fails: keep reading while Stripe retries? · Decided 27 Oct · B ​

What you decided. On 27 October you chose B: "for a failing subscription we retry for 30 days, which means the user is able to read for 30 days."

What happens for a member. When a renewal payment fails, Stripe tries the card again for up to 30 days and emails the member to update it. All that time the member keeps reading and keeps their newsletters. On the console their membership shows grace. Access ends when Stripe gives up, or after 30 days. If a later try works, or the member pays later, the membership is back to normal.

For example. A member's card expires on 1 November, the day they renew. Stripe tries again on the 4th, the 8th and the 15th. The member updates the card on the 14th, and the payment on the 15th works. They never lose an article. Someone who never pays reads free for up to 30 days.

Done on 27 October. FMS now gives every failed Stripe renewal the 30 days, not only members who were already behind on cutover day (card 11). A payment that works on a retry puts the membership back to normal; when Stripe gives up and cancels, access ends. A member who is behind cannot pay for a second membership by mistake: they fix their card on Stripe's page instead. The website and the newsletters now agree about these members. Before the morning, Thomas checks that each Stripe account retries for 30 days and then cancels.

Two small things left for later. Members who are already behind on the day we move them get a longer deadline than 30 days on paper (Stripe still cancels them after its 30 days), and the console's member page does not yet show the date the grace ends.

What we need from you. Nothing more. Finance may still comment on the 30 days.

20. If FMS stops answering · Decided 27 Oct · C, 24 h ​

What you decided. On 27 October you chose C, 24 hours: when FMS does not answer, the website keeps using each member's last answer for up to 24 hours. You also decided that a website still set to the old "fall back to PMPro" choice works the same way once PMPro is switched off, so nobody is locked out because PMPro is gone.

What members see during an outage.

  • A member who was reading keeps reading for up to 24 hours.
  • A visitor who is not logged in sees the subscribe message, as always.
  • Someone whose membership ended in those hours keeps reading until their copy runs out. You accepted this.
  • A member who signs out during the outage loses the copy. When they sign back in they see "We can't check your membership right now" until FMS is back.
  • WordPress administrators see a notice that FMS is not answering and how long members keep reading.

What was built. The website plugin (version 0.57.0) does this, built the same day.

What we need from you. Nothing more. Thomas checks it on the test copy of the website before the move.

What this was about. After cutover, every time a member opens an article the website asks FMS whether they may read it. The website remembers each answer for 5 minutes. Until this change, if FMS did not answer (a crash, an update, a network fault), the website showed every member the subscribe message.

For example. FMS restarts for ten minutes at 2 am.

  • A. Lock everyone out, as today. Members reading then see the subscribe message, until FMS is back.
  • B. Open members-only articles to everyone until FMS is back. Nobody is locked out, but a stranger who is not logged in also reads for free.
  • C. The website remembers each member's last answer for up to 24 hours. Members keep reading. Strangers still see the subscribe message. Someone whose membership ended in those hours keeps reading until the 24 hours are up.

We suggested. C. You chose C, with 24 hours.

37. Who can do what on the console · Please confirm · 10 Oct ​

What Thomas did, and why. Several colleagues now have their own console sign-in. Each person gets one of six roles. Thomas decided on 1 October what each role may do, and built it, so that colleagues could start using the console. On 10 October he added a fifth, Membership manager. The colleague who runs memberships needs both Support and Finance every day. Before, that took two sign-ins or a full Owner account. On 7 November he added a sixth, Developer, for the person who keeps FMS running. Before, that also needed a full Owner account, with every member and payment:

RoleCan do
OwnerEverything: staff accounts, the Stripe and Mailchimp connections, backups, prices and plans
DeveloperThe machinery only: the Stripe and Mailchimp connections, practice sandboxes, testing, backups, the email settings, the Health screen. Reads members and money, changes none of it. No staff accounts or plans
Membership managerEverything Support and Finance can do. Also two Mailchimp clean-ups: re-sync a member's tags, and take paid tags off people who are not members
FinanceMoney: record a bank payment, renew or stop a membership, team invoices, discount codes
SupportMember care without money: add a member, give a free membership, fix a name or email, change newsletters, manage team members
ViewerReads every screen and downloads reports. Changes nothing

For example. A Support colleague can give a journalist a free one-year membership and fix their name. They cannot record a payment, stop a membership or restore a backup. Finance can do the first two. Only an Owner can do the third.

Two things only you can decide.

  • Is it right that Support can give free memberships without a manager? If not, we move that to Finance or Owner.
  • Who should have which role? Everyone who had a console sign-in became an Owner on 1 October. Please look down the Staff screen and lower anyone who does not need Owner, or tell Thomas who should be what.

If you say no. Moving a power between roles is a small change. Nobody loses data.

Reply with. Confirm, or the change. And the roles, or "done" once you have set them on Staff.

43. Claude reading FMS · Please confirm · Before it is switched on ​

What Thomas did, and why. A colleague asked to ask Claude questions about FMS in plain words. Thomas built it on 3 October, switched off. Nothing changes until he turns it on. Each colleague who wants it adds FMS in Claude and signs in with their own FMS email and password. Claude can then look things up as that person. It can only read. It cannot change a member, a plan or a payment.

For example. A Support colleague pastes a member's email into Claude and asks "Is this person a member, and when does it end?". Or Finance asks "What did we net last month in US dollars?". Claude looks it up and answers. It can also draft a reply to the member.

What Claude can see. Members (name, email, plan, dates), teams, payment amounts and totals, the plan list. It can also say what changed in FMS and what is planned. Owners, Membership managers and Finance can ask it about this board, and owners about the risk board. What it can never see: staff notes, settings, Stripe and Mailchimp details, bank references, invoice links, discount codes, staff accounts, backups, and the full engineering records behind these boards.

What keeps it safe.

  • Each person signs in as themselves. Every question Claude asks is on Settings → Audit under that person's name.
  • An owner can cut it off for one colleague at once (Staff → Revoke all, or switch their account off). Thomas can cut it off for everyone by switching it off on the server.
  • It works on real data only, never in a sandbox.
  • Claude reads through its own database login that can only read, and cannot see staff accounts, notes, keys or settings at all. The database refuses any change, whatever the code asks.

What is left.

  • A colleague could be tricked into approving someone else's Claude, by a link sent to them. The sign-in page warns them. Every connection is listed on Your account and Staff. FMS does not yet email the person when a connection is made. Thomas will add that.
  • What Claude reads leaves FMS and is handled by Anthropic, under the terms of Frontier's Claude plan. See the Legal card below.

If you say no. Thomas leaves it switched off. Nothing needs undoing. Colleagues who want help with member questions paste data into Claude by hand, which has no limit and no record.

Reply with. Confirm, or "off". If you want only some roles to use it, say which.

47. A code from your phone at every console sign-in · Please note · Built 11 Oct ​

What changed. Signing in to the console now takes two steps. First your password, as before. Then a 6-digit code from an app on your phone, such as Google Authenticator, 1Password or Authy. The code changes every 30 seconds. This is for every colleague and every role, owners too. Nobody can switch it off.

Why. A password can be stolen: a fake sign-in page, a password used on another site, someone watching you type. With the console, that one password could read every member and, for some roles, move money. Claude signs in with the same account. A thief now also needs your phone.

What you will notice.

  • The first time you sign in after the update, the console asks you to set it up. It takes about a minute: scan a square code with the app, type the 6 digits it shows, and save ten recovery codes.
  • Each recovery code gets you in once if you lose your phone. Keep them away from the phone, for example printed in a drawer or in a password manager.
  • Claude's sign-in page asks for the code too.

If someone loses their phone. They use a recovery code, then set up their new phone on Your account. With no codes left, an owner presses Reset two-step sign-in on their page in Staff, and they set it up again at their next sign-in. If the only owner is locked out, Thomas can reset it on the server.

For example. A Support colleague's phone is stolen on a trip. They sign in from the hotel with one recovery code, then set up their new phone on Your account. The stolen phone's codes stop working.

Reply with. Nothing. Ask Thomas if a colleague cannot install an app on their phone.

48. Taking payments through Opn (Omise) in Thailand · Please confirm · Before any live Opn key ​

What this is about. Opn Payments, also called Omise, is a Thai card company. You asked whether it could take our card payments first, with the two Stripe accounts behind it. On 13 October Thomas built it as a test. It works only on test copies of FMS, with Omise's test keys. No real money moves.

What happens when it is on.

  • Each payment account has a number. The lowest number is tried first. Stripe accounts are at 100. Omise at 10 means Omise first, for every card Omise accepts. Stripe takes the rest.
  • Omise is paid in Thai baht. Reports show baht separately from dollars. They are never added up.
  • Our plans cost US dollars. Omise can charge dollars to Visa and Mastercard only. For JCB and other cards, a plan needs a price in baht. You set it on the plan's page. Without one, those cards pay through Stripe instead.
  • Omise does not retry a failed renewal by itself. FMS does: on the renewal day, three days later and seven days later. Then the member keeps reading for 30 days, and we contact them.
  • A member who pays through Omise has no Stripe billing page. They manage their card, plan and renewal on FMS's own billing page instead (card 49).

For example. A Follower pays with a Visa card through Omise. A year later FMS charges the same card again. The bank refuses it. FMS tries again three days later, and it works. The member noticed nothing.

What Omise told us (14 October). Omise answered our questions in writing. You can now choose.

  • Renewals need no bank check. Omise checks with the member's bank (3-D Secure) only when FMS asks, and FMS asks only on the first payment, while the member is at the card form. Renewals go through without the member. (On the live account, Omise's risk team must approve this first. Thomas asks.)
  • But a renewal without the bank check is our risk. If a member disputes a renewal with their bank, we lose the payment and Omise keeps its fee. This is risk FIN-16. It is rare, and members are emailed before their membership ends.
  • Dollars cost more through Omise. Omise changes dollars into baht at about 2–4 % above the market rate, then takes its fee. A plan with a baht price avoids the exchange margin.
  • Refunds. Refund in full before Omise pays the money out, and Omise returns its fee. Refund later, or only part, and Omise keeps its fee.
  • Cards. American Express is now on for our test account. Omise did not mention Visa and Mastercard, so Thomas confirms those with Omise before any live key.
  • Omise never sends a missed message twice, so FMS keeps checking Omise every 15 minutes. Each payment also carries FMS's own reference, so Omise refuses to charge the same payment twice.

A or B.

  • A. Omise first for the cards it takes, Stripe behind it. You accept FIN-16 (a disputed renewal is our loss).
  • B. Stripe first, Omise only for cards Stripe cannot take.

We suggest. A is now possible. Choose it once three things are done: Thomas's test on Omise's test account passes (including Opn renewal skips 3-D Secure), Omise confirms Visa and Mastercard, and Omise's risk team approves the bank check on the live account. Give the plans baht prices at the same time, so members avoid the exchange margin. Until then, B.

If you say nothing. Nothing changes. FMS keeps charging through Stripe only. No live Omise key is connected.

Reply with. 48: A or 48: B, and whether you accept FIN-16 for A. Finance: please confirm the baht reports are what you need.

49. Where members manage their card, and what cancelling does · Please note, and one question · Built 14 Oct ​

What you decided. On 14 October you said two things.

  • If the card company has its own secure billing page, members use that. FMS builds its own page only where the card company has none.
  • "When a paid subscription is cancelled, the member always becomes a Community member at the end of the billing period, unless they subscribe to another membership."

Thomas built both the same day.

What members see now.

  • Paying through Stripe: Change your billing details opens Stripe's own billing page, as before. They change their card there.
  • Paying through Omise: Omise has no billing page, so FMS has one. It says in one line what is true now, for example Your Friend membership renews on 1 March for $120. Members change their card there. If a renewal failed, the new card is charged straight away. They can pick another plan: it starts at the next renewal, with nothing charged or refunded today. Each payment has a receipt they can print, because Omise sends none.
  • Cancelling, for everyone who pays by card: the membership ends on the last day of the period they paid for. Nothing more is charged, and they keep reading until then. Until that day they can press Resume. On that day they become free Community members, so the free newsletters keep coming. The cancel page on the website and FMS's billing page do the same thing.
  • Not moved to Community: someone who still has another membership, such as a team seat, a second paid membership or free access from staff. They keep that one.
  • Staff see a booked plan change on the member's page: From 1 March: Fanatic.

What stays as it was. When a renewal fails and nobody pays, the membership ends without the move to Community, as before. Staff pressing Stop ends a membership at once. A team admin ending a whole team plan ends it at once, and everyone on it keeps free Community. This replaces card 15's "at once until cutover" for card memberships.

For example. A Follower whose year runs to 1 March cancels on 10 October. She keeps reading until 1 March. On 1 March her membership ends and she is a free Community member. If she changes her mind in January, she presses Resume and nothing changes.

One question. Moving down to free Community from the plan list (not the cancel page) still ends the paid membership straight away. Should that also wait until the end of the paid period? Thomas suggests yes, so there is one rule.

Later, if you want them. Moving up a plan now with a part-payment on Omise. Removing old cards from Omise. These are not built.

Reply with. Nothing for the rule. For the question: 49: yes or 49: no.

13. Which plans include the newsletter archive · Please confirm, and one choice · 10 Oct ​

What Thomas did, and why. Each plan has a box, includes the newsletter archive. Today it is ticked for Fanatic and team plans only. You can tick or untick it yourself on the Plans screen.

Why we need you. The grant promises the archive to every paid member. That is only true if Friend and Follower are ticked too.

For example. Today a Friend member cannot open the archive at all. Ticked, they see the full list of newsletters and read the ones opened to Friends (card 35).

We suggest. Tick both, once Marketing has said which newsletters each plan reads (card 35 under Marketing). Until then, ticking is still safe: they see headlines only.

If you say no. Friend and Follower keep no archive, and the grant report must say "Fanatic and teams only".

Reply with. Confirm the box, and yes or no to ticking Friend and Follower.

35. Friends and Followers in the archive: the rule · Please confirm · 10 Oct ​

What Thomas did, and why. Thomas decided on 1 October that the archive can open some newsletters to cheaper plans and keep others for Fanatic. Without this, ticking Friend and Follower in card 13 would have given them every Fanatic newsletter.

How it works (since 20 October, card 54). A member reads a newsletter's back issues when their plan includes that newsletter on FMS's Plans screen, the same ticks that decide their emails. An archive manager can also open a newsletter to everyone with the archive. A member whose plan does not include it sees the headlines with a lock and an Upgrade button, but not the text.

For example. A Follower opens the archive. The Daily Briefing, which Follower includes, reads in full. The Media Monitor shows its headlines with a lock and a note that it comes with Fanatic and team memberships.

Nothing has changed for any member yet. Friend and Follower are not ticked (card 13).

If you say no. An archive manager opens every newsletter to everyone with the archive. A plan then opens the whole archive or none of it. No new work.

Reply with. Confirm, or the change. Marketing chooses which newsletters each plan includes (card 35 under Marketing).

33. Two old PMPro features · Please confirm · Built 24 Oct ​

What this is about. PMPro has two features FMS did not. We do not know whether Frontier uses them, so we built both.

For example.

  • Membership manager: a colleague who edits memberships in the website without being a full website administrator. They get a Membership manager sign-in on the console (card 37).
  • Delayed start: a member who joins today and pays in 14 days, like a free trial. A plan now has First payment after (days) on the console's Plans screen. The member can read at once; the card is charged on day 14. The pricing page says "First 14 days free".

Good to know. A delayed start works with cards Stripe takes. A card that only our Thai Omise account takes cannot buy such a plan; the checkout asks for another card.

What happens next. Thomas checks the live site. The website's readiness page lists any PMPro level that waits before its first payment, so we give the matching plan the same number.

Reply with. "Confirmed", or tell us if anyone uses either feature in a way this does not cover.

40. Who may move a website login onto a member · Please confirm · 10 Oct ​

What Thomas did, and why. Sometimes a member's website login and their FMS membership come apart. The member then cannot read, though they pay. A member's page on the console can move a website login onto them, and the login then reads with that member's plans. On 3 October a code review found that any Support colleague could move any login, their own included, onto a paying member. Thomas closed that the same day.

For example. A member writes "I pay, but the site says I'm not a member". They had made a second website login with the same email. Support moves that login onto the member, and they read again. Moving any other login needs an Owner.

If you say no. Choose "Owners only": Support sees the problem but cannot fix it, so every such member waits for an Owner. Small change.

Reply with. Confirm, or "owners only".

4. Articles locked by category · Please confirm · Before cutover ​

What this is about. PMPro can lock a whole category of articles at once. FMS only locks articles one by one. An article locked only through its category would become free to everyone at cutover. Our copy of the website had none, but that copy came from the testing site.

For example. If the category "Investigations" were locked as a whole, with no lock on each article, every investigation would open to the public on cutover day.

We suggest. A: each article in a locked category gets its own lock before cutover.

What Thomas did. Built A on 15 October, so nobody has to find the articles by hand. The button that copies PMPro's locks now also locks every article in a locked category. It uses the cheapest tier PMPro let read the article. The check before PMPro is switched off now refuses while any such article has no lock. Thomas still runs it on the live site.

If you say no. The other choices were teaching the website about categories (about a day's work), or letting those articles go free. Neither is suggested.

One habit after cutover. An article added to a formerly locked category needs its own lock, like any new article.

Reply with. Confirm.

50. Omise prices in baht: typed by hand, or worked out from the dollar price? · Decided · 15 Oct ​

What this is about. Our plans are priced in US dollars. Omise is a Thai card company and is paid in baht. Today, for a card to pay through Omise, each plan needs its own baht price, typed by hand on the Plans screen (Opn prices). Without one, only Visa and Mastercard can pay through Omise — Omise converts the dollar price itself, at a rate 2–4 % worse than the bank rate, and the baht amount moves with the exchange rate. American Express and JCB cards cannot pay dollars through Omise at all, so they go to Stripe Singapore instead.

For example. Friend costs $120 a year. With no baht price, a Visa member pays Omise about ฿4,350 one month and ฿4,290 the next, and Omise keeps the difference on the rate. With a baht price of ฿4,200, every card — Visa, Mastercard, American Express, JCB — pays exactly ฿4,200 through Omise, every time.

  • A. FMS works the baht prices out. You set one exchange rate on the Omise account screen (FMS can suggest Omise's own rate) and a rounding rule, such as to the nearest ฿50. FMS fills in a baht price for every plan that has none, shows you the list, and uses those fixed amounts until you press Refresh and approve the new list. You can still type a price by hand for any plan.
    • For: nothing to type; every card can pay through Omise; members see one steady baht price; no conversion margin.
    • Against: the baht prices follow the dollar prices by a rule, so a "nice" number like ฿3,990 needs a hand edit.
  • B. Type each baht price by hand, as now.
    • For: you choose every number.
    • Against: ten prices to type and keep in step with the dollar list; a plan you forget stays dollar-only, so its American Express and JCB members go to Stripe.

Either way, a baht price should never change by itself: a member's renewal should stay at the amount they saw until staff approve a new list. Today it does not — FMS re-reads the price at each renewal. Card 51 asks you to confirm the fix.

We suggest. A.

If you say nothing. B stays: baht prices are typed by hand, and plans without one are Visa and Mastercard only through Omise.

Reply with. A or B.

Decided (15 Oct). Neither list: FMS works out every baht price from the dollar price at Omise's exchange rate, checked once a day and rounded to the nearest ฿10, and asks you before it uses a rate that has jumped more than 5 %. Typed baht prices are gone, and on each Omise account you can switch on a small discount for members whose bank charges a conversion fee, after a warning that it applies to every baht charge.

51. What a member sees and pays when Omise takes the card · Built, for information · 15 Oct ​

Built (15 Oct). Before pressing Pay, a member now sees the exact price their card type will be charged — "$120.00 USD / year" for Visa and Mastercard, or "฿4,120.00 / year" with today's rate and the $120.00 list price beside it for JCB, American Express and UnionPay — and FMS charges only that amount: if the price moved after the page was opened, nothing is charged and the page shows the new price. The amount shown is kept with each Omise payment as our evidence if a member disputes it.

What this is about. Every page a member sees shows prices in US dollars. Omise can charge dollars only to Visa and Mastercard; American Express, JCB and UnionPay cards must be charged in baht. Today, with no baht price typed anywhere, there is no problem: Visa and Mastercard pay dollars through Omise, and the other cards pay dollars through Stripe. But the moment staff type a baht price for a plan (card 50), every card Omise takes for that plan is charged in baht — Visa and Mastercard too — while the page still says dollars. A member would see "$120 a year", be charged ฿4,200, and have a bank statement that disagrees with our page. Because Omise renewals run without the bank's extra check (card 48), that is exactly what a member needs to win a dispute.

We also found that an Omise renewal charges whatever the baht price is on the day, not the amount the member first saw: change the price and existing members pay the new amount without being told; remove it and a JCB member's renewal fails although their card is fine. Teams of about 26 seats or more in dollars are refused by Omise after the card is saved, because Omise's ฿150,000 limit is checked after conversion.

For example. Friend is $120 a year, with a baht price of ฿4,200. Today a member typing a Visa number sees "$120.00 USD / year", presses Pay, and is charged ฿4,200. With the fix, the page says "Charged in Thai baht: ฿4,200.00 / year ($120 list price)" before they press Pay, and that is the amount every renewal charges until they change plan.

  • A. Dollars only through Omise. No baht prices. Visa and Mastercard pay dollars through Omise (Omise keeps a 2–4 % conversion margin); American Express and JCB keep paying dollars through Stripe.
    • For: nothing to show, nothing to keep in step; the page is always right.
    • Against: the margin on every charge; American Express and JCB depend on Stripe for good; needs Omise to confirm dollar charging works on the live account.
  • B. Baht prices, shown before paying. Keep card 50's baht prices, and show the member the price their card type will pay — baht or dollars — before the Pay button, with the dollar list price beside it. FMS charges only the amount it showed, and remembers it for every renewal.
    • For: every card can pay through Omise; no conversion margin on baht prices; honest; the amount shown is our evidence in a dispute.
    • Against: about a week's work, plus card 50's baht list; a member abroad pays their own bank's conversion on a baht charge.

Whichever you choose, we will first make FMS remember the price each Omise member was shown and charge that at renewal (a few days' work, needed under both).

We suggest. A while Omise is second to Stripe; B if you make Omise first (card 48).

If you say nothing. A: the console will refuse a baht price until B is built, so no member can be shown one price and charged another.

Reply with. Four answers:

  1. Is Omise first or second for memberships? (card 48)
  2. On Omise, should Visa and Mastercard pay the baht price or the dollar price?
  3. Is it all right for American Express and JCB members to pay in baht at all, rather than dollars through Stripe?
  4. When a baht price changes, do existing members keep their price until they change plan (we suggest yes), or move to the new price after some weeks' notice?

Update (15 Oct). Questions 2 and 4 are answered and built with card 50: Visa and Mastercard pay the dollar price through Omise, other cards pay baht worked out from the rate, and each renewal is worked out again at the rate of the day, with the amount charged kept on the membership. What the member is shown before paying (question 7) is the next piece of work.

26. What members may do on Stripe's billing page · Needs your decision · Before cutover ​

What this is about. The Manage billing button opens a page run by Stripe. What members can do there is a setting in each Stripe account: update the card, see invoices, cancel, switch plan.

For example. A member opens Manage billing to replace an expiring card. Under B or C they could also cancel there, and never see our cancel page with its offer to stay or its confirmation email.

  • A. Update the card and see invoices only. Cancelling and changing plan stay on our website.
  • B. Also allow cancelling.
  • C. Allow everything, including switching plan. This can skip team and plan rules.

We suggest. A.

If you say nothing. Thomas sets A when the Stripe accounts are prepared for go-live.

Reply with. A, B or C.

1. The 172 articles free members lose · Please confirm · Before cutover ​

What Thomas did. Decided on 26 August. Free Community members keep their account and newsletters. They lose 172 articles that PMPro let them read.

For example. A Community member bookmarked a 2023 explainer they could read for free. After cutover the same link asks them to subscribe.

If you say no. Keeping those articles open takes a few hours. You can also keep some open: send the list.

Reply with. Confirm, or which articles stay open.

15. Cancelling, and the account page · Please confirm · Before cutover ​

What Thomas did. Decided on 28 September. The account page now shows each member's plan and status first. Until cutover, cancelling ends access at once, and the page says so. After cutover, a member who cancels keeps access until the end of the period they paid for, with a Resume button.

Since 14 October. You decided the cancel on card 49: a member who pays by card keeps access until the end of the period they paid for, with Resume, and then becomes a free Community member. That is built now, not after cutover. What is left to confirm here is the account page.

For example. A member whose year runs to 1 December cancels on 10 October. Before cutover their access ends on 10 October. After cutover they read until 1 December, and can press Resume if they change their mind.

If you say no. "End at once" for good costs nothing. Building the "until the end of the period" version before cutover is possible, but adds risk to the cutover week.

Reply with. Confirm.

9. Whose Google account sends member email · One name · Before cutover ​

What Thomas did. Decided on 28 September. Member emails from FMS go out through Frontier's Google account, signed in as one colleague with a special password Google gives for this use.

For example. That colleague changes their Google password while on holiday. From that moment, FMS's emails (welcome, membership ending, team invoices) wait in a queue and the console shows an error, until a new special password is pasted in. Stripe's receipts and Mailchimp's newsletters are not affected.

Reply with. The colleague whose account is used. Choose someone who is staying, and who will tell Thomas before changing their password.

17. Who looks after the archive's newsletter list · Please confirm, and names · 31 Oct ​

What Thomas did. Decided on 29 September, changed on 1 October. Some colleagues can be archive managers. An Owner ticks this on the colleague's page on the Staff screen.

For example. An archive manager renames a newsletter, puts it first in the list, hides a test send, and says which FMS newsletter each one is (card 54). They can enter the archive even without a paid plan.

What the people you name need. A console sign-in (Viewer is enough), with the same email address as their website login.

If you say no. Tell us who else should manage the list. If nobody should, changes go through Thomas.

Reply with. Confirm, and the names.

27. Two memberships at once, and more than one team admin · Needs your decision · After cutover ​

What this is about. Two rules nobody wrote down. May one person hold two memberships? May a team have more than one admin?

For example. A person has their own Fanatic plan, and also a seat on their employer's team of five. The employer's office manager and director both want to add and remove colleagues.

  • A. One personal membership, plus a team seat if they have one. One admin per team, who can hand the role over. This is how it works today.
  • B. As A, but a team may have several admins. About 2–3 days of work.

We suggest. A, until a team asks for a second admin.

If you say nothing. A.

Reply with. A or B.

31. Monthly donations · Needs your decision · After cutover ​

What this is about. Donations are one-off today. People who give monthly usually give more over a year than one-off donors.

  • A. Stay one-off.
  • B. Add monthly giving to our donate page. It appears in Reports. About 3–5 days of work.
  • C. Use a Stripe monthly link outside FMS. Fast, but not in our reports, and it cannot take AMEX cards.

We suggest. A for now. Look again after the grant ends in November.

If you say nothing. A.

Reply with. A, B or C. Finance may want a say.

8. A team's newsletter choice beats the member's · Please confirm · 10 Oct ​

What Thomas did, and why. Decided on 2 September. A team admin can switch a newsletter off for the whole team, or for one seat. Once a newsletter is off for the whole team, nobody can switch it back on for one person: not that member, not Support, not the team admin for that seat alone. The team admin can only switch it back on for everyone. Thomas chose this so the team's setting and a seat's setting can never silently disagree.

For example. A team of eight has the Daily Briefing. The office manager switches it off for the team. One analyst wants it. Today the only answer is "ask your office manager to switch it on for the whole team again". Nobody can hand out a newsletter a plan does not include, in any case.

If you say no. A member or Support can switch one seat back on, over the team's choice. About a day of work, after cutover.

Reply with. Confirm, or "a seat may override".

54. The archive follows each plan's newsletters · Please confirm · Before cutover ​

What was decided, and why. Decided on 20 October, replacing card 39. A member can read a newsletter's past issues in the archive when their plan includes that newsletter on FMS's Plans screen, the same ticks that decide which newsletters they get by email. One list now says who gets what. Archive managers no longer make reader groups: on Manage newsletters they only say, once for each newsletter in the archive, which FMS newsletter it is, or open it to everyone with the archive. The five newsletters the archive already knows are set up from the start.

For example. Follower includes the Daily Briefing, so a Follower reads its back issues, even after unsubscribing from the emails. Follower does not include the Media Monitor, so a Follower sees its headlines with a lock and "Included with Fanatic and team memberships". A new "Patron" plan with the Media Monitor ticked reads the Media Monitor's back issues at once, with nobody in the archive having to act.

Worth knowing.

  • Switching a newsletter's emails off never locks its back issues. Only the plan decides.
  • A newsletter the archive finds on its own (an editor's one-off send, a new series) stays locked for members until an archive manager says which newsletter it is. Manage newsletters lists them.
  • Members already signed in to the archive when this goes live see only the newsletters opened to everyone until they next come in through the website (at most 12 hours).
  • The plans still need includes the newsletter archive ticked (card 13). Community never reads.

If you say no. Say which newsletters should read differently from their emails. We would bring back a per-newsletter list of plans in the archive. About a day of work.

Reply with. Confirm, or the change.

55. Testing never touches the live system · For information · 24 Oct ​

What changed. FMS has test copies (sandboxes) beside the real system. Until now, switching the console to a test copy switched everything: the website, card companies' messages and FMS's own background work all went to the test copy until somebody switched back. Since 24 October the console's switch only changes what the console shows. The real system keeps taking payments, sending emails and renewing memberships whatever a tester is looking at.

How a test copy is reached now. A test website uses its own key, made in that test copy, and everything it sends goes there. A link into a test copy says so in its address (env=…), and the page shows a yellow Test environment — no real payments are taken here strip. A test copy's background work (its emails, renewals, checks) runs only while an Owner has pressed Start on Settings → Sandboxes; it never emails the alert address.

For example. Thomas switches the console to the staging copy to try a new plan. A member renewing on the real website at that moment is charged and recorded on the real system, as on any other day. Before, their renewal would have waited until Thomas switched back.

Worth knowing.

  • A test website that used a key copied from the real system now reaches the real system. Give it its own key from its test copy, then press Test FMS connection on the website.
  • The website's FMS settings page says which copy it is connected to.

Nothing to reply. (Decision 55 for engineers.)

For information: replayed payment messages do not reopen access ​

Decided and built by Thomas on 3 October (decision 42). It was a bug fix. When a bank asks a member to confirm a renewal, FMS keeps their access open for a few days while they do it. Staff can also ask FMS to re-read old messages from Stripe. A re-read message about a payment settled long ago used to open those few days again. It no longer does.

For example. A renewal in May needed a bank confirmation and was paid. Re-reading May's messages in October gives that member no extra days. Nothing to reply.


Marketing ​

2. Member emails, and the win-back target · Please confirm, and one number · 10 Oct ​

What Thomas did. Decided on 29 September. Who sends which email after PMPro:

EmailSent by
Welcome, on a first membershipFMS
Your membership ends soon, 14 and 3 days before, to members who do not renew by card (free memberships given by staff, bank payers)FMS
Your membership has ended, on the dayFMS
Your cancellation is confirmedFMS
Receipts, renewal reminders, card problemsStripe
Come back, the win-back campaign to lapsed members, with a discount codeMarketing, from Mailchimp

Each FMS email stays off until staff switch it on.

Why we need you. The grant asks us to win back lapsed members but gives no number. We need a target to report against.

If you say no. Moving all of these to Mailchimp is about 2 days of work.

Reply with. Confirm, and a number: how many lapsed members back by 30 November.

19. Telling members about the cutover · Needs your decision · 10 Oct ​

What this is about. Members will see a new account page, a new checkout page and new emails. They still log in on the website as before, and card payers keep their card and renewal date.

For example. A long-time member gets a Welcome email with a new look, from an address they have not seen before. They forward it to support asking if it is a scam.

  • A. Say nothing.
  • B. One email a week before cutover, plus a banner on the website in cutover week.
  • C. B, plus a "what's new" email after cutover and a short help page. It can also promote the archive.

We suggest. C, from Mailchimp. The email to free members adds one line about the 172 articles (card 1). Thomas gives you the list of what changes and checks the draft.

If you say nothing. A. Expect more support questions in cutover week.

Reply with. A, B or C, and who writes it.

24. Free newsletters for new sign-ups · Needs your decision · 10 Oct ​

What this is about. Anyone who joins for free gets the free newsletters (Frontier Fridays and Website) automatically. The sign-up form has no box and does not say so.

For example. Someone makes a free account only to read one article. From then on they get Frontier Fridays every week.

  • A. Keep it automatic, and add one line under the button: "You will receive our free newsletters. Unsubscribe any time."
  • B. A box on the form, already ticked. Under European privacy law a pre-ticked box is not valid consent.
  • C. A box on the form, not ticked. Only people who tick it get the newsletters. A smaller, more engaged list.

We suggest. A, if Legal agrees. Otherwise C.

If you say nothing. Automatic, with nothing on the form.

Reply with. A, B or C.

35. Friends and Followers in the archive: which newsletters · Your list · 10 Oct ​

What this is about. The Business owner confirms the rule (card 35 above). Since 20 October (card 54) the archive follows each plan's newsletter ticks on FMS's Plans screen, so members read the back issues of the newsletters they already get by email. An archive manager can still open a newsletter to everyone with the archive, as a taster. We suggest:

NewsletterWho reads it in the archive
Political Insider, Frontier BackstageEveryone with the archive
Daily BriefingFollower and Fanatic
Media MonitorFanatic only

If you say nothing. Each newsletter reads by the plans that include it by email; none is opened to everyone. Nothing changes for a Friend or Follower until their plan includes the archive (card 13).

Reply with. Yes, or your list.

10. Joining for free on FMS's checkout page · Please confirm · 10 Oct ​

What Thomas did, and why. Built on 2 October, as part of a set of security fixes. Free sign-ups now go through the website only, like today's normal route. Before, anyone could type any email address into the free plan on FMS's checkout page, without a website account.

For example. A script types 500 strangers' addresses into that page. Each one becomes a member, and gets our newsletters from Mailchimp without having asked. Now that page sends people to the website to sign up first.

What members lose. Nothing. Joining for free on the website works as before.

If you say no. Thomas can reopen the page, but the hole above comes back.

Reply with. Confirm, or say if guests must be able to join for free on that page. The Business owner may want a say.

41. What the Mailchimp clean-up removes from non-members · Please confirm · 10 Oct ​

What Thomas did, and why. Built on 3 October. At cutover we clean Mailchimp. People who are not members lose the paid newsletter tags left over from PMPro. A code review found the clean-up also removed the free newsletters, which readers may have chosen themselves on Mailchimp's own form. Now it removes paid ones only.

For example. A reader whose membership ended in 2022 still gets Political Insider and Frontier Fridays. The clean-up stops Political Insider. Frontier Fridays continues.

If you say no. Choose "remove everything": that reader also stops getting Frontier Fridays, without having asked. No extra work.

Reply with. Confirm, or "remove everything".

30. A campaign to turn free members into payers · Needs your decision · 20 Oct ​

What this is about. The grant plans campaigns to free members in October. It is the fastest way to the grant's revenue target. Nothing is planned yet. The tools exist: discount codes, and a link that opens checkout with the code already filled in.

For example. An email to free members: "Your first year as a Follower at a discount", with a button that opens checkout with the code in place.

  • A. One Mailchimp campaign to all free members.
  • B. The same, only to the readers who open our newsletters most.
  • C. Wait until after the grant.

We suggest. B, in the second week after cutover.

If you say nothing. C.

Reply with. A, B or C, and the offer. The Business owner approves the discount.

28. Reading figures in the archive · Needs your decision · 31 Oct ​

What this is about. The archive shows every member how many readers opened each newsletter, as a percentage, and a Most read list. Nobody chose to show this.

For example. A member sees "Media Monitor · 31% opened". A low figure can make a newsletter look unpopular to the readers it is written for.

  • A. Keep both.
  • B. Keep Most read, hide the percentages.
  • C. Hide both.

We suggest. B.

If you say nothing. A: both stay.

Reply with. A, B or C.

For information: Mailchimp at cutover ​

Decided by Thomas on 2 October (decision 3, a technical question). On cutover day the clean-up in card 41 runs once, so expect one wave of tag changes in Mailchimp. A regular check now also finds people who carry paid tags but are not members. Nothing to reply.


Finance ​

45. Staff changing a member's plan · Please confirm · Before cutover ​

What Thomas did, and why. A colleague asked to move members up or down a plan from the console, not only from the website. Thomas built it on 10 October. Finance, Membership manager and Owner can do it, from the member's page (Change plan). The Business owner is asked too, because staff can now move a member up a plan.

What happens.

  • A card membership, moving up. FMS asks Stripe what the difference costs and shows it. Staff then choose: charge the saved card now, or send an invoice the member pays themselves. The new plan starts only once it is paid.
  • A card membership, moving down. Nothing is charged. The unused difference becomes credit on the member's next invoices. It is never refunded.
  • Monthly to yearly, or back. The billing cycle restarts that day. Only the saved card can be charged for this.
  • A free or bank-paid membership. It simply moves, up or down. Nothing is charged. A free member can be moved to a paid tier as a free membership. To move one onto paying by invoice instead, see card 46 (built the same day).

For example. A Friend member asks to become a Fanatic. Finance opens their page and sees "Due now $165.00". They choose Send an invoice with 14 days to pay. The member pays the link four days later and becomes a Fanatic that day.

Two things only you can decide.

  • Finance: is it right that staff can charge a member's saved card when they confirm? Is the invoice choice wanted? Is 14 days the right default to pay? You can change the default on Team invoices.
  • Business owner: is it right that staff can move a member up a plan, including a free member to a paid tier as a free membership?

If you say no. Small change. We hide a choice, or give it to Owners only. Nobody loses data.

Reply with. Confirm, or the change. Finance: also the default days to pay.

46. Moving a free or bank-paid member to paying by invoice · Please confirm · Before cutover ​

What Thomas did, and why. Some members have a free membership given by staff, or pay us by bank transfer and are entered by hand. Nothing renews those: each year someone has to chase the money and extend the membership. Thomas built a button, on 10 October, that moves such a member onto Stripe so that Stripe sends them an invoice every year (or month), the way invoiced teams already work. No card is needed. Finance, Membership manager and Owner can do it, from the member's page (Move to Stripe billing). The Business owner is asked too, because it changes how a member pays.

What happens.

  • Staff choose the paid plan, when the paid period starts (when the free membership ends, or today) and how many days the member has to pay. FMS shows the amount and the dates before anything happens.
  • FMS creates one invoice on the Stripe account chosen on Team invoices, and emails it to the member itself, with the payment link and our bank details. Stripe does not send a second email.
  • Until the invoice is paid, nothing changes: the member keeps the membership they have.
  • The member pays by card on Stripe's page, or by bank transfer. For a transfer, Finance presses Mark paid by bank transfer on the member's page and enters the reference and what reached the bank. FMS then tells Stripe.
  • Once Stripe says it is paid, the free or bank-paid membership ends and the paid one starts, with no gap. From then on Stripe sends an invoice each period; FMS emails it. If one is still unpaid 14 days after the paid period ends, reading stops until it is paid.
  • An invoice that is not paid within a day of its due date is cancelled. A payment that still arrives later is not turned into a membership; Finance refunds it.

For example. A partner journalist has a free Friend membership until 8 January. Finance moves them to Fanatic, starting 8 January, with 14 days to pay. The journalist gets an email today with a $350 invoice. They transfer the money; Finance marks it paid; the journalist is a paying Fanatic from that moment, and next January Stripe invoices them again.

Note, 8 Nov. Staff can now also send a team its first invoice from the console (New team → Invoice — paid by bank transfer, or Team invoices → New invoice), and ask an invoiced team for more seats there. These invoices come from the same Stripe account and carry the same bank details as above, and FMS emails them the same way. This does not change the question below.

Things only you can decide.

  • Finance: is the Stripe account chosen on Team invoices the right one to send these invoices from? Is it right that FMS, not Stripe, emails them? May staff mark a bank transfer paid (the same as for team invoices)?
  • Business owner: may staff move a free or bank-paid member onto paying by invoice?

If you say no. Small change. We hide the button, or give it to Owners only. Members already moved stay as they are.

Reply with. Confirm, or the change. Finance: also the account to issue from.

25. Team prices at 16 and 17 seats · Decided · 14 Oct ​

What this is about. The team price list skips 16 and 17 seats. We filled in $3,024 and $3,094 a year from the pattern. Nobody approved them. Once they are in Stripe, they are hard to change.

For example. A newsroom of 16 buys online today and is charged $3,024 a year.

  • A. Confirm both, and 19 seats as the largest team that can buy online. Larger teams ask for an invoice.
  • B. Give us the correct prices and the limit.
  • C. No limit: any size at $175 a seat.

We suggest. A or B.

If you say nothing. The two prices above go live.

Decided (14 Oct). The two prices are right, and there is no largest team: from 18 seats it is $175 a seat for any size (18 → $3,150, 19 → $3,325, 20 → $3,500, 21 → $3,675 …). Online checkout offers up to 100 seats; a larger team asks for an invoice.

34. Three old Stripe prices · Needs your decision · 6 Oct ​

What this is about. A few members pay old prices that match no current plan. FMS must know which plan each one holds, or they may get the wrong articles or newsletters. Thomas will tell you how many members are on each price.

For example. A member who has paid the same old yearly amount since 2021, which is no longer on the price list.

  • A. Match each old price to the nearest plan. They keep paying what they pay now.
  • B. Match them, and move them to today's price at their next renewal. Marketing must tell them first.
  • C. Leave them unmatched. Staff handle them by hand.

We suggest. A.

If you say nothing. C, which means manual work for staff after cutover.

Reply with. A, B or C.

7. What Finance needs from Reports · Three yes-or-no · First month-end after cutover ​

Already built. A list of every payment, with Stripe's fee and the amount that reached the bank, downloadable for Excel.

Why we need you. Three more pieces could be built. Only Finance knows if they are worth it.

  • Corrections. A wrong hand-entered payment is marked void with a reason, instead of being deleted. Example: $100 was typed instead of $1,000. Today the row is deleted and re-entered, and the mistake leaves no trace. Half a day to a day. We suggest: yes.
  • Bangkok months. Today months follow the London clock, not Bangkok. Example: a payment at 2 am on 1 October in Bangkok counts in September. Half a day. We suggest: yes.
  • Bank deposits. Match each payment to the Stripe deposit that reached the bank. 3–5 days. We suggest: only if you want to stop using Stripe's own report for this.

If you say nothing. Nothing more is built.

Reply with. Yes or no for each.

For information ​

  • Who may change money on the console (card 37 under Business owner). Finance colleagues can record bank payments, renew or stop a membership, run team invoices and make discount codes. Support cannot change money, but can give a free membership. Tell Thomas if the Finance role should do more or less.
  • The activity record is lighter since 1 October. It still records every change anyone makes, every time. Routine look-ups (a member opening a page that checks their membership) are now recorded once an hour per member, not on every page view.
  • Replayed payment messages no longer give extra days of access (decision 42, under Business owner).
  • Finance may want a say on cards 21 (keep reading while Stripe retries) and 31 (monthly donations).
  • Unpaid team invoices will be re-checked with Stripe once an hour instead of every minute (decision 36, Thomas's). Stripe still tells FMS the moment an invoice is paid. Only if that message is lost does the Team invoices screen show the payment up to an hour late, rather than within a minute. Tell Thomas if an hour is too long.

11. Mailchimp consent, and members behind on payment at cutover · Please confirm · Before cutover ​

What Thomas did. Decided on 23 September.

  • FMS never adds a person to the Mailchimp list by itself. Only a sign-up does. Example: a member who unsubscribed from Mailchimp in 2024 is never added back, even when FMS updates their membership.
  • Members who are behind on payment on cutover day keep reading for up to a month while Stripe retries their card. Example: a member whose card failed on 15 October, under PMPro, is not locked out on cutover day.

If you say no. Tell us which rule to change. Each is a small change.

Reply with. Confirm both, or what to change.

22. Deleting a member's data on request · Needs your decision · 30 Nov ​

What this is about. People may ask us to delete their data, under European privacy law (GDPR) or Thailand's (PDPA). Under GDPR we have one month. We have no procedure. A member's data sits in FMS, both Stripe accounts, Mailchimp, the website, the system's logs and the backups. Some records, such as payments, may have to be kept for tax.

For example. A former member writes: "Delete everything you hold about me." Today a colleague would have to work out where to look, and could miss a place.

  • A. A written step-by-step procedure now, done by hand. About an hour per request.
  • B. A button on the console later. About 3–4 days of work. The website and backups still need a manual step.
  • C. Wait for the first request.

We suggest. A now, B after the grant if requests come.

Two more answers we need. How long payment records must be kept. And who fills in the card companies' yearly security form (PCI), which applies because FMS shows the card form itself.

And one more, added 5 October. Staff can write notes about a member on the console, for example why a free membership was given. A note is personal data about that member. Do notes go when the member's data is deleted, or are some kept? And a member who asks for a copy of their data would receive them.

If you say nothing. C. The one-month deadline starts the day a request arrives.

Reply with. A, B or C, and the two answers.

23. Newsletters to a shared inbox · Needs your decision · 30 Nov ​

What this is about. A member can send their members-only newsletters to another address, like an office inbox. The people reading that inbox cannot stop them. Only the member can. Anti-spam rules expect whoever receives an email to be able to stop it.

For example. A member sends their newsletters to their newsroom's shared inbox. A colleague who reads that inbox clicks Unsubscribe. Today nothing changes.

  • A. Unsubscribing at that address stops delivery there. The member is told and can choose another address. Half a day to a day.
  • B. Only the member decides, as today.

We suggest. A.

If you say nothing. B.

Reply with. A or B.

29. Archive pictures load from Mailchimp · Needs your decision · 30 Nov ​

What this is about. Pictures in archived newsletters load from Mailchimp's servers. So Mailchimp sees each reader's internet address, and a picture disappears if Mailchimp deletes it.

For example. A member opens a 2024 issue in the archive. Their browser fetches its pictures from Mailchimp.

  • A. Accept it, and name Mailchimp in the privacy notice.
  • B. Keep our own copy of the pictures. About 1–2 days of work.

We suggest. A now, B after the grant.

If you say nothing. It stays as it is, and the privacy notice does not mention it.

Reply with. A or B.

What this is about. Decision 43 (Business owner's card above) lets colleagues ask Claude about members. To answer, Claude is sent what it reads: member names, emails, plans, membership dates and payment amounts. That data goes to Anthropic. They hold it under the terms of Frontier's Claude plan. FMS cannot take it back.

Why we need you. This is personal data leaving the system. It also sits beside card 22: if a member asks us to delete their data, anything Claude was already shown is outside FMS.

For example. Claude is asked about a member in March. In June that member asks for erasure. FMS can delete the record. The March conversation stays in the colleague's Claude history for as long as Anthropic's terms for Frontier's plan say.

What we ask.

  • Is it acceptable that member names, emails and payment amounts are sent to Claude, for staff use only?
  • Is Frontier's Claude plan (how long it keeps conversations, whether it trains on them) the right one for this? If not, which plan?

If you say no. Thomas leaves it switched off, or limits it to a plan you approve.

Reply with. Confirm, or what to change. The Business owner decides whether it is switched on at all.

12 and 14. How long logs and the activity record are kept · Please confirm · 30 Nov ​

What Thomas did. Decided on 24 and 28 September, extended on 1 October.

For example. A log is the system's diary: "14:02, renewal for member 123 failed". The activity record is who did what: "a Support colleague changed this member's email, from this internet address".

  • System logs contain some email addresses. They are kept 30 days, or 180 days for payment events.
  • The activity record keeps members' internet addresses and browser names for 180 days.
  • Since 1 October, the records of what FMS sent to Mailchimp and what Stripe sent to FMS are also kept 180 days. Before, they were kept forever. Payments themselves are kept as before.
  • Since 1 October, routine look-ups are recorded once an hour per member, not on every page view. Every change is still recorded.

If you say no. Give us the periods Frontier must use. Each is a setting.

Reply with. Confirm the periods, or the ones Frontier must use.


Technical (Thomas) ​

Listed so everyone can see the split. No action needed from colleagues.

#DecisionState
3Clean up Mailchimp tags at cutoverDecided 2 Oct: a switch for cutover day, plus a regular check of Mailchimp. Marketing: see For information
5Rehearsal setup, and the test server's addressMostly decided. Test server still open
6Member notes, and free memberships given to a whole teamDecided. Whether notes are deleted with a member is asked on Legal's card 22
8Newsletter choices for admins and team adminsDecided. Nobody can add a newsletter a plan does not include. The Business owner confirms that a team's choice beats the member's (card 8)
9Who sends member emailDecided. The Business owner names the account (card 9)
10Security fixesDecided 2 Oct. Most built. The second sign-in step for the console was built on 11 Oct (card 47). Still to come: checking that each console click came from our own page, and signing out other browsers on a password change. The payment-page script rules and the website plugin tidy-ups come in November. Marketing confirms card 10
12Where logs liveDecided. Legal confirms how long
14Activity recordDecided. Legal confirms how long
16One page per job on the websiteDecided and built
32Alerts when Stripe or Mailchimp stop answeringDecided 2 Oct: built before cutover. Nothing to sign
36How often an unpaid team invoice is re-checked with StripeOpen. Thomas suggests once an hour instead of every minute. Finance: see For information
37The console roles, as a mechanismDecided and built: six roles since 7 Nov (Membership manager was added on 10 Oct, Developer on 7 Nov). What each role may do is the Business owner's card 37
38Who defines the archive's Who can read choicesReplaced the same day by 39
39Where the archive's reading rules liveDecided and built 2 Oct: in the archive, as reader groups. Replaced on 20 Oct by 54
54The archive reads by newsletterDecided and built 20 Oct: a member reads a newsletter's back issues when their plan includes it on the Plans screen. The Business owner confirms on card 54 (card 39 retired)
55Which copy of FMS a request reachesDecided and built 24 Oct: a website's key, a member's sign-in or a link decides, never the console's switch; the real system's background work always runs. For information under Business owner
42Replayed payment messages and accessA bug fix, built 3 Oct. For information under Business owner
43Claude reading FMSDecided and built 3 Oct, switched off. The Business owner's card 43 and Legal's card 43 ask for confirmation. Thomas adds an email when a new connection is made
44Claude and the test copies of FMSDecided and built 4 Oct. Each copy of FMS, the real one included, has its own on/off switch for Claude, off until an Owner turns it on. An answer from a test copy always says test data, not real members or money
47A code from your phone at every console sign-inDecided and built 11 Oct, for every role. What colleagues notice is card 47
48Omise (Opn Payments) beside StripeBuilt 13 Oct as a test, in test copies only. Which one comes first is the Business owner's card 48

Parked ​

Not asked yet. Raised again when they matter.

  • Archive reader numbers for the grant report.
  • An AI assistant that searches the archive.
  • How often AMEX payments failed before the project, and how many subscribers there were. The import will give us both.

Internal staff guide. Screenshots come from the rehearsal rig and never show real members. Project status (for developers and admins).