Penstock

Guide / Plans, privacy and help

Buying and signing in

How to try Pro, buy it, sign in on another machine, and use a licence in a pipeline.

Free

The trial

The first time you use Penstock on a machine, that machine gets 30 days of Pro. You do nothing. When the trial ends, the machine is on the Free plan. The start date is kept by the licence service rather than on the machine, so deleting files on the machine starts nothing new and a clock cannot move it. It needs no network to read it. A pipeline gets no trial.

The trial starts when the licence service first hears from the machine, so a new machine needs a network connection once to start it. While the trial runs, the licence status of your tool says how many days are left. Activating a key uses the trial up. A machine with no operating-system machine id gets no trial.

This release moves the licensing to Polar, so every machine starts a fresh 30-day Pro trial with it. An earlier trial does not carry over: the old trial.json is ignored and removed, and nothing about it is read again.

Buy Pro or Team

  1. Choose to buy in your tool, or press a Buy button on the Plans page.
  2. The checkout opens in your browser, on Polar's page. Choose the billing period there.
  3. Pay. Penstock notices the payment by itself and sends a sign-in code to the address that paid.
  4. Type the code in. The licence is active. There is no key to copy.

You can also reach the same step from a paid feature: the message that explains it has a Buy button.

To go straight to the checkout, use one of these. They open Polar's own page.

FreeNo charge, and every new machine starts with 30 days of Pro.
ProUSD 9.00 per month or USD 90.00 per year
TeamUSD 29.00 per month or USD 290.00 per year for each seat

Team is priced for each seat: you choose the number of seats at checkout. Prices are read from Polar. The price you pay is the one shown at checkout. See Plans and licence for what each plan includes.

Buy from your tool

JetBrains

Click the licence in the status bar (Penstock Free, or the trial), or choose Tools | Penstock licence…. Press Buy Pro. For Team, press the link Buy Team, for pipelines and the review bot. See Licence in the IDE.

VS Code

Click Penstock in the status bar, or run Penstock: Licence and account. Press Buy Pro or Buy Team. See Licence in VS Code.

Command line

penstock license buy          # Pro
penstock license buy team     # Team

The command opens the checkout, prints its address, and waits up to an hour for the payment. Then it asks for the code that was sent to your e-mail. It needs a terminal to answer in.

Sign in on another machine

  1. Start signing in in your tool.
  2. Type the address you bought Penstock with. A key works in the same field too.
  3. An e-mail brings a code. Type it in.
  4. Penstock finds your best licence and activates it on this machine.

Sign in from your tool

JetBrains

Open the licence dialog from the status bar or Tools | Penstock licence… and type your address, or a key, in E-mail or licence key.

VS Code

Run Penstock: Sign in, or open the account dialog from the status bar and press Sign in. Type your address, or a key, in E-mail or licence key.

Command line

penstock license login [email]
penstock license activate <key>   # a key you type in by hand

In VS Code

Install the extension with code --install-extension penstock.penstock, or from its page in the VS Code store. Open the Command Palette and run Penstock: Licence and account to see the licence on this machine. Run Penstock: Sign in to sign in with the e-mail you bought with. A paid feature you reach without a licence offers to buy or to sign in at that moment. The extension reads the same ~/.penstock/license.json as the other tools, and it can also copy the key for CI and release this machine.

On the command line

CommandWhat it does
penstock license or penstock license statusSays which licence this machine has and why. During the trial it says when the trial ends.
penstock license buy [pro|team]Opens the checkout, prints its address, waits up to an hour for the payment, then asks for the code sent to your e-mail. Pro is the default.
penstock license login [email]Signs in with the e-mail you bought with and a code. Lists the machines when every place is taken, so you can free one.
penstock license activate <key>Activates a key you type in by hand.
penstock license key [email]Prints the Team key for PENSTOCK_LICENSE, after the same e-mail sign-in.
penstock license logoutReleases this machine, so its place is free to use elsewhere.

buy, login and key need a terminal to answer in. penstock license deactivate still works and does what logout does. See license.

Where the licence lives

The licence is the file ~/.penstock/license.json, in your home folder. Every tool reads it, the command line included, so you sign in once and every tool is licensed. It holds the token and a clock mark, never a key, a tier or a date you could edit. Beside it are clock.json, a second copy of the clock mark, and pipeline.json, which a pipeline writes. If the environment variable PENSTOCK_HOME is set, the files are in that folder instead.

How many machines

One key covers three machines at once, for Pro and for each Team seat. Signing in again on the same machine, for example after reinstalling your tool, reuses its place. It does not take a new one. When every place is taken, signing in lists the machines and when each was activated. Pick the one to free, and this machine takes its place.

Move a machine

  1. On the machine you are leaving, release it: the release button of the licence screen in your tool, or penstock license logout. If you no longer have that machine, free its place when you sign in on the new one.
  2. On the new machine, sign in with the same e-mail.

A token cannot be taken back from a machine that is offline, so a freed place is not always free at once. Each key gets one free move per place in any 30 days, and those moves free their place immediately. A further release keeps counting against the limit until 30 days after it was noticed, and the message says the date. A machine that comes back after its own release does not wait. Releasing too often from one key is refused for a while.

Team seats

Team is sold for each seat. At checkout you choose how many seats you want. You then give the seats to people in Polar's customer portal: sign in to it with the e-mail you bought with, and assign each seat to a person by e-mail. Each person who accepts a seat gets a key of their own, with three machines, and signs in as above with their own e-mail. Taking a seat away ends that key.

Check your licence

See which plan this machine has

JetBrains

The status bar at the bottom of the IDE shows Penstock Pro trial: 27d, then Penstock Free when the trial ends, or Penstock Pro or Penstock Team. Click it for the licence dialog. Release this machine frees the machine.

VS Code

The status bar at the bottom of VS Code shows Penstock Pro trial: 27d, then Penstock Free when the trial ends, or Penstock Pro or Penstock Team. Click it for the account dialog, or run Penstock: Licence and account. Release this machine frees the machine.

Command line

penstock license

The answer is two rows, tier and status: which plan this machine has and why. On the trial or without a licence it adds how to buy or sign in. penstock license logout releases this machine.

How the licence is checked

The licence is a signed token, not a flag. A small licence service turns Polar's answer into a token signed with a key only it holds, and the plugin, the command line and the editor carry the public half and check the signature themselves, offline. A file edited by hand, a redirected address or a server pretending to be the licence service cannot make a machine Pro.

In a pipeline

A pipeline does not sign in. A Team key is stored as a secret named PENSTOCK_LICENSE, and the key is only honoured when CI is set: on any other machine it is ignored. It is exchanged for a token that lasts six hours rather than used as a flag, and it takes no machine's place. Each new runner sends the key to the licence service once and keeps the token, not the key, on disk. If the service cannot be reached, the pipeline runs as Free. A Pro key does not work in a pipeline. The pipelines that penstock init --ci writes already pass it, when the machine that ran the command has Team. Without Team on the machine, init --ci writes a pipeline that runs only the free checks. See Pipelines, reports and the bot.

The machine no longer keeps the key, so penstock license key and Copy Key for CI find it again through the same e-mail sign-in, and they find a Team key, because a pipeline needs Team. A key can still be typed in by hand with penstock license activate <key>.

Get the key for a pipeline

JetBrains

Open the licence dialog and press Copy key for CI.

VS Code

Open the account dialog and press Copy key for CI. VS Code asks for the e-mail code again and puts the Team key on the clipboard.

Command line

penstock license key

It needs a licence activated on this machine and a terminal. It asks for the e-mail you bought with, sends a code, and prints the Team key to set as PENSTOCK_LICENSE in a pipeline. Keep it secret.

Cancel

You can cancel at any time. The link is in the receipt Polar sent you, and you can also sign in to Polar's customer portal with the e-mail you bought with. Polar, not Penstock, holds the subscription. After you cancel, a machine keeps its licence until the subscription ends. Within a day of an online check, or when its token runs out, it falls back to the trial if one is left, or to Free. Your diagrams and files are not touched.

Questions

Do I need a key?

No. Buying and signing in end with the licence on the machine. A key only matters for a pipeline, or if you want to type one in.

What happens when the 30 days end?

The machine is on the Free plan. The editors, checks, deploy and Monitor keep working. Paid features offer to buy or to sign in when you reach them.

Do I get a second trial if I reinstall?

No. The start of the trial is kept by the licence service, not on the machine.

Does one purchase cover the plugin, VS Code and the command line?

Yes. They share one licence file on the machine.

Can I use my Pro key in CI?

No. A pipeline needs a Team key, and the key only counts when CI is set.

Does it work without a network?

A valid token works offline until it runs out, 30 days at most. It is renewed once a day when you are online.

Free Pro for students, teachers and open-source maintainers

Penstock offers Free Pro to students, teachers and open-source maintainers. When the application address is set, it appears in three places: the licence dialog (a link Free Pro for students, teachers and open-source maintainers: apply), the message that explains a paid feature (a button Apply for Free Pro), and the output of penstock license. While no address is set, nothing about it is shown.

The application address is not yet published on this page. If you qualify and see no link, open an issue on the support tracker and say which group you are in.

What you see

Common problems

"There is no Penstock licence bought with that address."
Sign in with the exact address you paid with. Or buy again.
"That code is wrong or has expired."
Ask for a new code. You have three tries per code.
"Signing in needs a terminal to answer in."
You ran the command line sign-in in a place without a terminal, for example a CI job. In a pipeline set PENSTOCK_LICENSE instead.
"PENSTOCK_LICENSE is not a valid Penstock key."
Copy the key again. Check there is no space or line break around it.
Every machine is in use.
Pick one to free when signing in, or release a machine you no longer use.
The licence service could not be reached.
Check your network and proxy. A valid token keeps working for 30 days offline.
It says the machine's clock is wrong.
The clock has been set back below a time this machine has already seen. Set it to the real time; the reason is given with the message.