Skip to content

Commit 0b6ca5b

Browse files
juecdehfeng
andauthored
Update pricing page with new packaging details (#476)
* Update pricing page * Update other pages * Update info/pricing.mdx Co-authored-by: Eric Feng <ehfeng@users.noreply.github.com> * Update info/pricing.mdx Co-authored-by: Eric Feng <ehfeng@users.noreply.github.com> * Update info/pricing.mdx Co-authored-by: Eric Feng <ehfeng@users.noreply.github.com> * Update info/pricing.mdx Co-authored-by: Eric Feng <ehfeng@users.noreply.github.com> --------- Co-authored-by: Eric Feng <ehfeng@users.noreply.github.com>
1 parent f3fad77 commit 0b6ca5b

3 files changed

Lines changed: 36 additions & 37 deletions

File tree

auth/faq.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,6 @@ See [Profiles — Multiple auth connections per profile](/auth/profiles#multiple
5555

5656
## How is Managed Auth billed?
5757

58-
Managed Auth is included on all paid plans with no per-connection fees. It uses browser sessions to log in and keep your sessions fresh—these count toward your browser usage like any other browser session.
58+
Managed Auth is included on all plans with no per-connection fees. It uses browser sessions to log in and keep your sessions fresh—these count toward your browser usage like any other browser session.
5959

6060
Auth sessions are fast (typically 5-30 seconds each). Kernel monitors session health and re-authenticates automatically when sessions expire—most stay valid for days. For example, keeping 100 auth connections logged in typically costs less than $5/month in browser usage. See [Pricing & Limits](/info/pricing#managed-auth) for details.

info/pricing.mdx

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -25,54 +25,56 @@ import { PricingCalculator } from '/snippets/calculator.jsx';
2525
| Feature | Developer (free + usage) | Hobbyist ($30 / mo + usage) | Start-Up ($200 / mo + usage) | Enterprise |
2626
| --- | --- | --- | --- | --- |
2727
| Included credits / mo | $5 | $10 | $50 | Custom |
28-
| Extended browser timeouts |||||
2928
| Browser live view |||||
29+
| Extended browser timeouts |||||
3030
| Browser telemetry |||||
3131
| Configurable browser viewports |||||
32-
| Managed stealth mode |||||
32+
| Stealth mode |||||
33+
| Browser profiles |||||
34+
| File i/o |||||
3335
| Computer controls API |||||
34-
| Browser replays || 7 days | 30 days | Custom |
35-
| Browser profiles |||||
36-
| Managed auth profiles |||||
37-
| File uploads & downloads |||||
38-
| Configurable browser extensions |||||
36+
| Browser replays | 1 day | 7 days | 30 days | Custom |
37+
| Managed auth connections | 3 | unlimited | unlimited | unlimited |
38+
| Custom browser extensions | 1 | 1 | unlimited | unlimited |
3939
| Configurable & BYO proxies |||||
40-
| Browser pools |||||
40+
| Browser pools |||||
41+
| GPU acceleration |||||
42+
| Projects | 1 | 1 | unlimited | unlimited |
4143
| Support | Discord | Discord | Email | Shared Slack |
4244
| SOC2 compliance |||||
43-
| GPU acceleration |||||
4445
| HIPAA compliance (BAA) |||||
4546

4647
> Note: Included monthly credits apply to usage costs only.
4748
48-
## Browser pools
49-
50-
With [browser pools](/browsers/pools), you pay the standard usage-based price per GB-second while browsers are running. Idle browsers in a browser pool incur no usage charges — you only pay when a browser is actively in use, so an idle browser pool costs nothing between tasks.
51-
52-
> Note: GPU acceleration is not available for browser pools.
53-
54-
## Managed Auth
55-
56-
Managed Auth is included on all paid plans with no per-connection fees. Under the hood, it uses browser sessions to log in and keep your sessions fresh—these count toward your browser usage and concurrency like any other browser session.
57-
58-
Auth sessions are fast (typically 5-30 seconds each). Kernel monitors session health and re-authenticates automatically when sessions expire—most stay valid for days. For example, keeping 100 auth connections logged in typically costs less than $5/month in browser usage.
59-
6049
## Concurrency limits
6150

62-
Kernel enforces a single concurrency limit covering all browsers you run at oncewhether created on demand with `browsers.create()` or maintained in a [browser pool](/browsers/pools). Your full limit is available to either API in any mix.
51+
Kernel enforces a single concurrency limit covering all browsers you run at oncewhether created on demand with `browsers.create()` or reserved in a [browser pool](/browsers/pools/overview). Your full limit is available to either API in any mix.
6352

6453
| Feature | Developer (free + usage) | Hobbyist ($30 / mo + usage) | Start-Up ($200 / mo + usage) | Enterprise |
6554
| --- | --- | --- | --- | --- |
6655
| Concurrent browsers | 5 | 10 | 150 | Custom |
6756
| App invocations | 5 | 10 | 50 | Custom |
6857
| App invocations (per-app) | 5 | 10 | 20 | Custom |
69-
| Managed auth health check interval | N/A | 1 hour minimum | 20 minutes minimum | Custom |
58+
| Managed auth health check interval | 6 hours minimum | 1 hour minimum | 20 minutes minimum | Custom |
59+
60+
#### Notes
61+
- Reserved capacity in a [browser pool](/browsers/pools/overview) counts toward your concurrency limit whether or not the browsers are currently acquired—a pool sized to 40 browsers uses 40 of your limit.
62+
- Browsers in [Standby Mode](/browsers/standby) count against your concurrency limit.
63+
- Limits are org-wide by default unless stated otherwise. `Managed auth connections` refer to profiles with active auth connections that Kernel maintains using your stored [Credentials](/auth/credentials) or [1Password connection](/integrations/1password). A single profile can have multiple auth connections (one per domain)—see [Profiles](/auth/profiles#multiple-auth-connections-per-profile) for details.
64+
65+
## Browser pools
7066

67+
With Browser Pools, you pay the standard usage-based price per GB-second while browsers are running. Idle browsers in a pool incur no disk charges—you only pay when a browser is actively in use.
68+
69+
GPU acceleration is not available for browser pools.
7170
> Note: A [browser pool](/browsers/pools) counts toward your concurrency limit whether or not its browsers are currently acquired — a browser pool sized to 40 browsers uses 40 of your limit. Browser pools are available on Start-Up and Enterprise plans.
7271
73-
> Note: Browsers in [Standby Mode](/browsers/standby) count against your concurrency limit.
72+
## Managed Auth
73+
74+
Managed Auth is included on all plans with no per-connection fees. Under the hood, it uses browser sessions to log in and keep your sessions fresh—these count toward your browser usage and concurrency like any other browser session.
75+
76+
Auth sessions are fast (typically 5-30 seconds each). Kernel monitors session health and re-authenticates automatically when sessions expire—most stay valid for days. For example, keeping 100 auth connections logged in typically costs less than $5/month in browser usage.
7477

75-
> Note: Limits are org-wide by default unless stated otherwise. `Managed auth profiles` refer to profiles with active auth connections that Kernel maintains using your stored [Credentials](/auth/credentials) or [1Password connection](/integrations/1password). A single profile can have multiple auth connections (one per domain) — see [Profiles](/auth/profiles#multiple-auth-connections-per-profile) for details.
7678

7779
## Rate limiting
7880

snippets/calculator.jsx

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -67,9 +67,6 @@ export const PricingCalculator = () => {
6767
const labelStyle = { fontWeight: 600, fontSize: '0.875rem', minWidth: '10rem', flexShrink: 0, maxWidth: '10rem' };
6868
const rowStyle = { display: 'flex', alignItems: 'center', gap: '0.5rem', minHeight: '2.25rem' };
6969
const inputStyle = { minWidth: 0, flex: 1, maxWidth: '100%', boxSizing: 'border-box', background: 'transparent' };
70-
const numberInputStyle = {
71-
borderBottom: '1px solid #81b300', textAlign: 'right'
72-
};
7370
const selectStyle = {
7471
...inputStyle,
7572
appearance: 'none',
@@ -82,7 +79,7 @@ export const PricingCalculator = () => {
8279
const btnStyle = (active) => ({
8380
padding: '0.25rem 0.5rem',
8481
borderRadius: '0.375rem',
85-
border: `1px solid ${active ? '#81b300' : 'var(--btn-border)'}`,
82+
border: '1px solid var(--btn-border)',
8683
fontSize: '0.875rem',
8784
background: active ? 'var(--btn-selected-bg)' : undefined,
8885
});
@@ -99,11 +96,11 @@ export const PricingCalculator = () => {
9996
</div>
10097
<div style={rowStyle}>
10198
<label style={labelStyle}>Session length (seconds)</label>
102-
<input type="number" style={{...inputStyle, ...numberInputStyle}} value={avgSessionLength} onChange={(e) => { hasInteracted.current = true; setAvgSessionLength(parseInt(e.target.value)); }} />
99+
<input type="number" style={{...inputStyle}} value={avgSessionLength} onChange={(e) => { hasInteracted.current = true; setAvgSessionLength(parseInt(e.target.value)); }} />
103100
</div>
104101
<div style={rowStyle}>
105102
<label style={labelStyle}>Number of sessions</label>
106-
<input type="number" style={{...inputStyle, ...numberInputStyle}} value={numSessions} onChange={(e) => { hasInteracted.current = true; setNumSessions(parseInt(e.target.value)); }} />
103+
<input type="number" style={{...inputStyle}} value={numSessions} onChange={(e) => { hasInteracted.current = true; setNumSessions(parseInt(e.target.value)); }} />
107104
</div>
108105
<div style={rowStyle}>
109106
<button class="btn btn-primary dark:text-white" style={btnStyle(browserType === 'headless')} onClick={() => handleBrowserTypeChange('headless')}>Headless</button>
@@ -113,15 +110,15 @@ export const PricingCalculator = () => {
113110
<div style={rowStyle}>
114111
<span style={{ width: '100%', fontSize: '0.8rem', fontStyle: 'italic' }}>
115112
${(usagePrices * multiplier).toFixed(8)}/second
116-
{browserType === 'gpu' && <span style={{ marginLeft: '0.5rem', color: '#81b300' }}>(Startup tier required)</span>}
113+
{browserType === 'gpu' && <span style={{ marginLeft: '0.5rem' }}>(Startup tier required)</span>}
117114
</span>
118115
</div>
119116
</Card>
120117
<Card title="Price" icon="circle-dollar">
121-
<div style={rowStyle}><span style={labelStyle}>Base plan:</span> <span style={{ background: flash ? '#81b300' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>${planPrices[plan].toFixed(2)}</span></div>
122-
<div style={rowStyle}><span style={labelStyle}>Usage:</span> <span style={{ background: flash ? '#81b300' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>+${usageCost.toFixed(2)}</span></div>
123-
<div style={rowStyle}><span style={labelStyle}>Free credits:</span> <span style={{ background: flash ? '#81b300' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>-${includedUsageCredits.toFixed(2)}</span></div>
124-
<div style={rowStyle}><span style={labelStyle}>Total cost:</span> <span style={{ background: flash ? '#81b300' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>${price.toFixed(2)}</span></div>
118+
<div style={rowStyle}><span style={labelStyle}>Base plan:</span> <span style={{ background: flash ? '#CAB168' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>${planPrices[plan].toFixed(2)}</span></div>
119+
<div style={rowStyle}><span style={labelStyle}>Usage:</span> <span style={{ background: flash ? '#CAB168' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>+${usageCost.toFixed(2)}</span></div>
120+
<div style={rowStyle}><span style={labelStyle}>Free credits:</span> <span style={{ background: flash ? '#CAB168' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>-${includedUsageCredits.toFixed(2)}</span></div>
121+
<div style={rowStyle}><span style={labelStyle}>Total cost:</span> <span style={{ background: flash ? '#CAB168' : 'transparent', transition: 'background 0.5s ease', marginLeft: 'auto' }}>${price.toFixed(2)}</span></div>
125122
</Card>
126123
</Columns>
127124
);

0 commit comments

Comments
 (0)