| Does the paid text ever reach the reader’s browser?Neither | Three modes. Piano says most clients run the client-side one, where the content is served to the browser and covered there. Edge and server enforcement withhold it, are an additional paid option, and the worker is yours to write and run. | A Worker in front of your own site withholds the gated body before the response is written, at no extra charge — when your page declares a body selector. Without one it draws the same client-side panel. |
|---|
| Do our existing subscribers keep access on cutover day?Neither | Yes. A Piano-run migration imports users, subscriptions and access together, and 22 legacy password formats carry across. Piano books the date two to four weeks out, and a wrong import cannot be undone. | Yes, from the token you already sign. EdgeKit verifies it and reads its claims on every decision, so nobody signs in again and no card is re-entered — and EdgeKit runs the migration itself rather than handing you a toolkit. |
|---|
| Can we get a price before we talk to anyone?Favours EdgeKit | No published price: piano.io/pricing answers 404, while Piano’s own live terms still cite a fee schedule at that address. The standard agreement raises the per-unit fee each year by the greater of 7% or US CPI. | The whole rate card is on the site: eight meters, an included amount and a rate on each, and a $99 monthly floor. |
|---|
| We publish several titles. Is that one reader or several?Favours EdgeKit | Several. Each title is its own application with its own reader records. Global Mode shares login, email and name across them; subscriptions and access stay per application, and enabling it cannot be undone. | One. One reader record behind every title, with one agreement and one set of counts. Which titles a reader is attached to is visibility, not a second account. |
|---|
| Can our own team query the reader data directly?Favours EdgeKit | Not the subscriber records: Piano documents a bulk user export you request through its API, and every user endpoint takes an application id. Behavioural data is queryable with SQL through Data Sharing, a contract option on Piano’s own Snowflake. | Your reader record is a database of your own. Ask for managed deployment and that database is a project in your own cloud account. |
|---|
| How do we undo a rule change that cost money?Neither | Every save is a numbered version carrying a note, an author and a date, and a new version is not live until you activate it. Recovery is switching to an earlier version and activating that one. | Put the rule back and deploy again, which takes minutes. Every deploy is a numbered, append-only entry naming who shipped it, so the record of what was live and when cannot be edited afterwards. |
|---|
| Can we keep the billing vendor we already run?Favours Piano | Eight recommended providers and eight further technical connections, and you can keep a non-Stripe processor. Stripe now runs the subscription schedule, the invoices and the renewal clock, and Piano’s uptime commitment excludes Stripe downtime. | Recurly and Stripe, each with a full mirror of your billing state kept current by webhook, and more coming. Any other biller is wired at no charge if you need it. |
|---|
| Can our data team reach the raw behavioural rows?Neither | Two paid options. Data Flow drops raw event files to your own storage every 15, 30 or 60 minutes; Data Sharing is SQL across roughly 1,400 columns. Data Flow’s history starts on the day you buy it. | Every event, unsampled, as Parquet in object storage — your own cloud account on managed deployment. There is no export endpoint your team can schedule; an export is us running the query. |
|---|
| Who splits the traffic for a test, and who reads the result?Neither | Piano. Up to 10 variants, weights to a tenth of a percentage point, the assignment kept in a browser cookie, and a report naming a probability to be best. A/B tests are not available in its edge mode. | EdgeKit, or the experimentation vendor you already run. Either EdgeKit assigns the arm itself, or it reads the one your vendor assigned and decides on that — so the split and the statistics can stay in the tool your team already uses. |
|---|
| Who changes the paywall, the developers or the revenue team?Neither | The revenue team. Cards dragged onto a canvas in Piano’s dashboard, with no code — except in edge or server mode, where a developer writes and operates the worker that calls Piano. | The revenue team, on a role that can publish. An ordered rule they write and deploy themselves, landing as one numbered entry naming who shipped it. |
|---|