PageSourceSearch

https://folioinbox.com/assets/Pricing-dddYkYIf.js

js folioinbox.com collected 2026-09-24 14:13:28 UTC 19,091 bytes, 1 lines download raw bytes

1import{B as e,C as t,F as n,H as r,I as i,N as a,R as o,U as s,V as c,X as l,Y as u,at as d,b as f,ct as p,k as m,nt as h,rt as g,st as _,ut as v,y,z as b}from"./app-OtMvAGyI.js";import{t as ee}from"./Breadcrumbs-5i1kPLX9.js";import{t as te}from"./PlayStoreBadge-DcXIwV_q.js";import{t as ne}from"./PublicFooter-u1N2x6bd.js";import{t as re}from"./PublicMasthead-DrCJ2APx.js";import{i as ie,n as x,o as S,r as C,s as w,t as T}from"./pricing-DVyphtuS.js";import{t as E}from"./PlanTrialLink-CieAmHLd.js";var D={class:`plan-finder`,"aria-labelledby":`plan-finder-title`},O={class:`inputs`},k={for:`plan-domains`},A={for:`plan-sends`},ae={class:`result`,"aria-live":`polite`,"aria-atomic":`true`},oe={class:`smallcaps`},se={class:`display amount`},j={key:0},M={key:0},N=y(s({__name:`PlanFinder`,props:{cadence:{}},setup(e){let t=d(5),s=d(1e3),l=n(()=>t.value===``||s.value===``?null:w(Number(t.value),Number(s.value)));return(n,d)=>(u(),b(`section`,D,[i(`div`,null,[d[4]||=i(`p`,{class:`smallcaps`},`Find your fit`,-1),d[5]||=i(`h2`,{id:`plan-finder-title`,class:`display`},`How much room does your portfolio need?`,-1),d[6]||=i(`p`,null,`For one person managing several business addresses in one inbox. Choose the smallest plan that covers your domains and sending.`,-1),i(`div`,O,[i(`label`,k,[d[2]||=c(`Custom domains `,-1),g(i(`input`,{id:`plan-domains`,"onUpdate:modelValue":d[0]||=e=>t.value=e,class:`input`,type:`number`,min:`1`,max:`1000`,step:`1`,inputmode:`numeric`},null,512),[[m,t.value,void 0,{number:!0}]])]),i(`label`,A,[d[3]||=c(`Emails sent per month `,-1),g(i(`input`,{id:`plan-sends`,"onUpdate:modelValue":d[1]||=e=>s.value=e,class:`input`,type:`number`,min:`0`,step:`1`,inputmode:`numeric`},null,512),[[m,s.value,void 0,{number:!0}]])])])]),i(`div`,ae,[l.value?(u(),b(a,{key:0},[i(`p`,oe,`Your fit · `+v(l.value.name),1),i(`p`,se,[c(v(e.cadence===`annual`?_(x)(l.value):_(C)(l.value,e.cadence)),1),i(`span`,null,`/`+v(e.cadence===`annual`?`year`:`month`),1)]),e.cadence===`annual`?(u(),b(`p`,j,v(_(C)(l.value,e.cadence))+`/month equivalent, billed yearly.`,1)):o(``,!0),i(`p`,null,v(l.value.domainLimit)+` · `+v(l.value.sendCap.toLocaleString())+` sends/month`,1),r(E,{plan:l.value,cadence:e.cadence,surface:`plan-finder`},null,8,[`plan`,`cadence`]),d[7]||=i(`p`,{class:`terms`},`14-day trial. Card required. Cancel before billing.`,-1)],64)):(u(),b(a,{key:1},[d[8]||=i(`p`,null,`Enter 1–1,000 domains and a whole number of sends, starting at zero. Our largest plan covers 30,000 sends per month.`,-1),Number(s.value)>3e4?(u(),b(`p`,M,`Your sending needs exceed the published plans. Folio may not fit this workload.`)):o(``,!0)],64))])]))}}),[[`__scopeId`,`data-v-57ceebf2`]]),P=[],F=()=>P.filter(e=>e.permissioned&&e.quote.trim().length>0),I={key:0,class:`testimonials rise rise-5`,"aria-labelledby":`testi-h`},L={class:`testi-list`},R={class:`testi-quote`},z={class:`testi-attr smallcaps`},B=[`href`],V={key:1},H={class:`testi-role`},U=y(s({__name:`Testimonials`,setup(e){let t=n(()=>F());return(e,n)=>t.value.length?(u(),b(`section`,I,[n[0]||=i(`p`,{class:`roman smallcaps`},`III · In their words`,-1),n[1]||=i(`h2`,{id:`testi-h`,class:`display section-hed`},`What operators say.`,-1),i(`ul`,L,[(u(!0),b(a,null,l(t.value,e=>(u(),b(`li`,{key:e.quote,class:`testi`},[i(`blockquote`,R,`“`+v(e.quote)+`”`,1),i(`p`,z,[e.href?(u(),b(`a`,{key:0,href:e.href,rel:`noopener`,class:`testi-link`},v(e.name),9,B)):(u(),b(`span`,V,v(e.name),1)),i(`span`,H,[c(`— `+v(e.role),1),e.company?(u(),b(a,{key:0},[c(`, `+v(e.company),1)],64)):o(``,!0)])])]))),128))])])):o(``,!0)}}),[[`__scopeId`,`data-v-a7fa051e`]]),W={class:`pricing`},G={class:`masthead`},K={class:`masthead-actions rise rise-2`},ce={id:`plans`,class:`tiers-wrap rise rise-3`},le={class:`cadence-toggle`,role:`tablist`,"aria-label":`Billing cadence`},ue=[`aria-selected`],de=[`aria-selected`],fe={class:`cadence-pill-save`},pe={class:`tiers`},me={key:0,class:`tier-badge smallcaps`},he={class:`tier-head`},ge={class:`smallcaps tier-eyebrow`},_e={class:`display tier-name`},ve={class:`display tier-price`},ye={class:`tier-sub`},be={class:`tier-total`},xe={class:`tier-total`},Se={class:`tier-feats`},Ce={class:`math rise rise-4`,id:`cost-math`},we={class:`section-body-tight`},Te={class:`sources rise rise-4`,"aria-labelledby":`pricing-sources-h`},Ee={class:`source-list`},De=[`href`],Oe={class:`faq rise rise-6`,"aria-labelledby":`pricing-faq-h`},ke={class:`faq-list`},Ae={class:`faq-q display`},je={class:`faq-num tabular`},Me={class:`display-italic`},Ne={class:`faq-a`},q={class:`faq-foot smallcaps`},Pe={class:`closing rise rise-6`},Fe={class:`close-body`},Ie={class:`cta-row`},J=`https://folioinbox.com`,Y=`2026-06-25`,Le=`25 Jun 2026`,X=`2027-05-31`,Z=`https://schema.org/InStock`,Q=`Pricing for multi-domain email | Folio`,$=`Compare flat Folio plans for one operator with many domains: start free, then choose Solo, Studio, or Holding Co. without per-mailbox billing.`,Re=y(s({__name:`Pricing`,setup(n){let s=S.find(e=>e.popular)?.id??null,m=C(S[0],`annual`),g=d(`annual`),y=[{q:`What does the free preview include?`,a:`One custom domain and 100 sends, no card on file. It's a working inbox, not a demo — receive, send, DKIM and all — for as long as you need to decide.`},{q:`When is my card actually charged?`,a:`Only after the 14-day trial ends. The trial starts when you pick a plan to lift the preview caps — that's the moment a card is asked for — and cancelling before day 15 means nothing is drawn.`},{q:`How do I cancel?`,a:`From the Stripe billing portal, linked inside the app. Cancellation stops the next renewal; you keep the plan you paid for through the end of the current period.`},{q:`What happens to my mail if I cancel?`,a:`It stays yours. Sign-in keeps working through the end of the paid period, and Security → Export all mail downloads your inbox, archive, sent, and spam as a standard .mbox file that Thunderbird, Apple Mail, and Google Takeout all read.`},{q:`Can I switch plans later?`,a:`Yes, in one click from the billing page. Upgrades are prorated to the day and take effect immediately; downgrades wait for the next renewal, so you keep the higher tier through what you've already paid for.`}],w=`${J}/pricing`,D=`${J}/og/pricing.png`,O={"@type":`OfferShippingDetails`,shippingRate:{"@type":`MonetaryAmount`,value:`0`,currency:`USD`}
1,shippingDestination:{"@type":`DefinedRegion`,addressCountry:`US`},deliveryTime:{"@type":`ShippingDeliveryTime`,handlingTime:{"@type":`QuantitativeValue`,minValue:0,maxValue:0,unitCode:`DAY`},transitTime:{"@type":`QuantitativeValue`,minValue:0,maxValue:0,unitCode:`DAY`}}},k={"@type":`MerchantReturnPolicy`,applicableCountry:`US`,returnPolicyCategory:`https://schema.org/MerchantReturnNotPermitted`},A=[{label:`Google Workspace — published pricing`,url:`https://workspace.google.com/pricing`},{label:`Google Workspace — add alias or secondary domains`,url:`https://workspace.google.com/products/admin/`},{label:`Stripe — billing portal documentation`,url:`https://docs.stripe.com/customer-management`}];return t({title:Q,link:[{rel:`canonical`,href:w}],meta:[{name:`description`,content:$},{property:`og:title`,content:Q},{property:`og:description`,content:$},{property:`og:url`,content:w},{property:`og:image`,content:D},{property:`og:type`,content:`website`},{property:`og:site_name`,content:`Folio`},{name:`twitter:card`,content:`summary_large_image`},{name:`twitter:title`,content:Q},{name:`twitter:description`,content:$},{name:`twitter:image`,content:D}],script:[{type:`application/ld+json`,innerHTML:JSON.stringify({"@context":`https://schema.org`,"@type":`Product`,name:`Folio`,description:$,brand:{"@type":`Brand`,name:`Folio`},url:w,isPartOf:{"@type":`WebSite`,name:`Folio`,url:J},image:D,dateModified:Y,offers:{"@type":`AggregateOffer`,priceCurrency:`USD`,lowPrice:Math.min(...S.map(e=>e.monthly)).toFixed(2),highPrice:Math.max(...S.map(e=>e.annualTotal)).toFixed(2),offerCount:S.length*2,availability:Z,priceValidUntil:X,shippingDetails:O,hasMerchantReturnPolicy:k,offers:S.flatMap(e=>[{"@type":`Offer`,name:`${e.name} Monthly`,price:e.monthly.toFixed(2),priceCurrency:`USD`,url:w,availability:Z,priceValidUntil:X,shippingDetails:O,hasMerchantReturnPolicy:k,priceSpecification:{"@type":`UnitPriceSpecification`,price:e.monthly.toFixed(2),priceCurrency:`USD`,billingDuration:1,billingIncrement:1,unitCode:`MON`}},{"@type":`Offer`,name:`${e.name} Annual`,price:e.annualTotal.toFixed(2),priceCurrency:`USD`,url:w,availability:Z,priceValidUntil:X,shippingDetails:O,hasMerchantReturnPolicy:k,priceSpecification:{"@type":`UnitPriceSpecification`,price:e.annualTotal.toFixed(2),priceCurrency:`USD`,billingDuration:12,billingIncrement:1,unitCode:`MON`}}])}})},{type:`application/ld+json`,innerHTML:JSON.stringify({"@context":`https://schema.org`,"@type":`WebPage`,name:Q,description:$,url:w,dateModified:Y,isPartOf:{"@type":`WebSite`,name:`Folio`,url:J},publisher:{"@type":`Organization`,name:`Folio`,url:J},speakable:{"@type":`SpeakableSpecification`,cssSelector:[`.pricing .hed`,`.pricing .deck`,`.pricing .section-body-tight`]},citation:A.map(e=>({"@type":`CreativeWork`,name:e.label,url:e.url}))})},{type:`application/ld+json`,innerHTML:JSON.stringify({"@context":`https://schema.org`,"@type":`BreadcrumbList`,itemListElement:[{"@type":`ListItem`,position:1,name:`Home`,item:`${J}/`},{"@type":`ListItem`,position:2,name:`Pricing`,item:w}]})},{type:`application/ld+json`,innerHTML:JSON.stringify({"@context":`https://schema.org`,"@type":`FAQPage`,speakable:{"@type":`SpeakableSpecification`,cssSelector:[`.pricing .faq-q`,`.pricing .faq-a`]},mainEntity:y.map(e=>({"@type":`Question`,name:e.q,acceptedAnswer:{"@type":`Answer`,text:e.a}}))})}]}),(t,n)=>(u(),b(`main`,W,[r(re),i(`header`,G,[n[4]||=i(`div`,{class:`top-rule`},null,-1),r(ee,{items:[{label:`Pricing`}],class:`page-crumbs`}),n[5]||=i(`h1`,{class:`display hed rise rise-1`},[c(` Pricing for one person `),i(`br`),c(` running many `),i(`em`,{class:`display-italic`},`domains.`)],-1),n[6]||=i(`p`,{class:`deck rise rise-2`},[i(`span`,{class:`drop-cap`},`S`),c(`tart free with one domain and 100 sends — no card. Upgrade only when you need more. Paid plans begin with a 14-day card-required trial; cancel during it and pay nothing. `)],-1),i(`div`,K,[r(_(f),{to:`/signup`,class:`btn btn-filled`},{default:h(()=>[...n[2]||=[c(`Start free — no card`,-1)]]),_:1}),n[3]||=i(`a`,{href:`#plans`,class:`btn btn-quiet`},`Compare plans ↓`,-1)]),i(`p`,{class:`smallcaps pricing-freshness rise rise-2`},` Updated `+v(Le)+` (`+v(Y)+`) `),r(te,{class:`masthead-play rise rise-2`,
1surface:`pricing-masthead`})]),i(`section`,ce,[i(`div`,le,[i(`button`,{type:`button`,role:`tab`,class:p([`cadence-pill smallcaps`,{"cadence-pill-active":g.value===`monthly`}]),"aria-selected":g.value===`monthly`,onClick:n[0]||=e=>g.value=`monthly`},` Monthly `,10,ue),i(`button`,{type:`button`,role:`tab`,class:p([`cadence-pill smallcaps`,{"cadence-pill-active":g.value===`annual`}]),"aria-selected":g.value===`annual`,onClick:n[1]||=e=>g.value=`annual`},[n[7]||=c(` Annual `,-1),i(`span`,fe,`save up to `+v(_(ie)())+`%`,1)],10,de)]),r(N,{cadence:g.value},null,8,[`cadence`]),i(`div`,pe,[(u(!0),b(a,null,l(_(S),e=>(u(),b(`article`,{key:e.id,class:p([`tier`,{"tier-accent":e.id===_(s)}])},[e.id===_(s)?(u(),b(`p`,me,`Recommended`)):o(``,!0),i(`header`,he,[i(`p`,ge,v(e.eyebrow),1),i(`h2`,_e,v(e.name),1),i(`p`,ve,[c(v(_(C)(e,g.value)),1),n[8]||=i(`span`,{class:`tier-per`},` /mo`,-1)]),i(`p`,ye,[g.value===`annual`?(u(),b(a,{key:0},[i(`span`,be,v(_(x)(e))+` billed once a year`,1),c(` — `+v(_(T)(e).toLowerCase())+`. `,1)],64)):(u(),b(a,{key:1},[c(` Billed monthly. Or `+v(_(C)(e,`annual`))+`/mo on annual — `,1),i(`span`,xe,v(_(x)(e))+` once a year`,1),c(`, `+v(_(T)(e).toLowerCase())+`. `,1)],64))]),n[9]||=i(`p`,{class:`tier-trial smallcaps`},`14-day trial · card required · cancel before billing`,-1)]),i(`ul`,Se,[(u(!0),b(a,null,l(e.features,e=>(u(),b(`li`,{key:e},[n[10]||=i(`span`,{class:`mark-accent`},`·`,-1),c(v(e),1)]))),128))]),r(E,{plan:e,cadence:g.value,surface:`pricing`,class:`tier-cta`},null,8,[`plan`,`cadence`])],2))),128))])]),i(`section`,Ce,[n[13]||=i(`p`,{class:`roman smallcaps`},`I · The arithmetic of multiple domains`,-1),n[14]||=i(`h2`,{class:`display section-hed`},[c(` Google Workspace `),i(`em`,{class:`display-italic`},`bills per user.`),c(` You are one user. `)],-1),i(`p`,we,[n[11]||=c(` Workspace bills per user, so yes — you can park every domain on a single $7 seat as secondary domains. That path is real, and if it works for you, take it. What it costs is separation: one inbox identity, one sending reputation, and DKIM you configure by hand per domain. Break the entities apart to get that back and the bill becomes one seat per entity, which is the path the table below prices. Folio's answer is the third one — `,-1),i(`strong`,null,v(_(m))+`/month covers three domains with their own DKIM keys and one inbox to read them in`,1),n[12]||=c(`, which is less than the single seat you were about to compromise on. `,-1)]),n[15]||=e(`<div class="math-frame" data-v-0f75f148><header class="math-head smallcaps" data-v-0f75f148><span data-v-0f75f148>ONE YOU, ACROSS N DOMAINS · US DOLLARS PER MONTH</span></header><table class="math-table" data-v-0f75f148><thead data-v-0f75f148><tr data-v-0f75f148><th class="smallcaps" data-v-0f75f148>Domains</th><th class="smallcaps" data-v-0f75f148>Workspace, a tenant each</th><th class="smallcaps" data-v-0f75f148>Best-fit Folio annual</th><th class="smallcaps" data-v-0f75f148>You keep</th></tr></thead><tbody data-v-0f75f148><tr data-v-0f75f148><td class="mono" data-v-0f75f148>1</td><td class="mono" data-v-0f75f148>$7.00</td><td class="mono" data-v-0f75f148>$2.99</td><td class="mono mono-save" data-v-0f75f148>$4.01</td></tr><tr data-v-0f75f148><td class="mono" data-v-0f75f148>3</td><td class="mono" data-v-0f75f148>$21.00</td><td class="mono" data-v-0f75f148>$2.99</td><td class="mono mono-save" data-v-0f75f148>$18.01</td></tr><tr data-v-0f75f148><td class="mono" data-v-0f75f148>5</td><td class="mono" data-v-0f75f148>$35.00</td><td class="mono" data-v-0f75f148>$12.00</td><td class="mono mono-save" data-v-0f75f148>$23.00</td></tr><tr data-v-0f75f148><td class="mono" data-v-0f75f148>10</td><td class="mono" data-v-0f75f148>$70.00</td><td class="mono" data-v-0f75f148>$12.00</td><td class="mono mono-save" data-v-0f75f148>$58.00</td></tr></tbody></table><footer class="math-foot smallcaps" data-v-0f75f148> Workspace figures are Business Starter, US list price, as of publication — one tenant per entity. A single seat can instead host every domain as secondary domains for a flat $7/mo, trading separation for one shared identity and reputation. <a href="/blog/folio-vs-google-workspace" class="math-link" data-v-0f75f148>The long version →</a></footer></div>`,1)]),i(`section`,Te,[n[16]||=i(`p`,{class:`roman smallcaps`},`Source notes`,-1),n[17]||=i(`h2`,{id:`pricing-sources-h`,class:`display section-hed`},[c(` Where the `),i(`em`,{class:`display-italic`},`numbers`),c(` come from. `)],-1),i(`ul`,Ee,[(u(),b(a,null,l(A,e=>i(`li`,{key:e.url},[i(`a`,{href:e.url,target:`_blank`,rel:`noopener noreferrer`,class:`source-link`},v(e.label),9,De)])),64))])]),n[32]||=e(`<section class="included rise rise-5" data-v-0f75f148><p class="roman smallcaps" data-v-0f75f148>II · Included with every plan</p><ul class="inc-list" data-v-0f75f148><li data-v-0f75f148><h3 class="display inc-hed" data-v-0f75f148>Domains by the <em class="display-italic" data-v-0f75f148>dozen.</em></h3><p class="inc-body" data-v-0f75f148> Every name you own arrives in one inbox — stable colour per domain, From auto-selected on reply. Paid plans price per operator, not per seat — Solo covers 3 domains, Studio 10, and Holding Co. lifts the cap entirely. </p></li><li data-v-0f75f148><h3 class="display inc-hed" data-v-0f75f148>A signature per <em class="display-italic" data-v-0f75f148>letter.</em></h3><p class="inc-body" data-v-0f75f148> Per-domain DKIM, signed at send time with that domain&#39;s own key. Recipients verify the signature that belongs to the name on the envelope. </p></li><li data-v-0f75f148><h3 class="display inc-hed" data-v-0f75f148>Sign in <em class="display-italic" data-v-0f75f148>by letter.</em></h3><p class="inc-body" data-v-0f75f148> A one-time link to the address you already check. No password to remember, no password to leak. Single-use, fifteen-minute lifespan. </p></li><li data-v-0f75f148><h3 class="display inc-hed" data-v-0f75f148>Thirty days of <em class="display-italic" data-v-0f75f148>hesitation.</em></h3><p class="inc-body" data-v-0f75f148>
1 Letters moved to trash stay recoverable for a month. Attachments up to 15 MiB. Threading preserved on reply so Gmail and Outlook fold them into the original. </p></li><li data-v-0f75f148><h3 class="display inc-hed" data-v-0f75f148>Bounces caught at the <em class="display-italic" data-v-0f75f148>edge.</em></h3><p class="inc-body" data-v-0f75f148> Dead addresses are marked before a second letter goes out. Your sender reputation doesn&#39;t drift because a contact&#39;s mailbox shut down six months ago. </p></li><li data-v-0f75f148><h3 class="display inc-hed" data-v-0f75f148>One <em class="display-italic" data-v-0f75f148>receipt</em> a year.</h3><p class="inc-body" data-v-0f75f148> Annual customers get one Stripe invoice at renewal. Bookkeeping is a single line item, not twelve. </p></li></ul></section>`,1),r(U),i(`section`,Oe,[n[22]||=i(`p`,{class:`roman smallcaps`},`III · Questions about the money`,-1),n[23]||=i(`h2`,{id:`pricing-faq-h`,class:`display section-hed`},[c(` Before you reach for a `),i(`em`,{class:`display-italic`},`card.`)],-1),i(`dl`,ke,[(u(),b(a,null,l(y,(e,t)=>i(`div`,{key:e.q,class:`faq-row`},[i(`dt`,Ae,[i(`span`,je,v(String(t+1).padStart(2,`0`)),1),i(`em`,Me,v(e.q),1)]),i(`dd`,Ne,v(e.a),1)])),64))]),i(`p`,q,[n[20]||=c(` More at `,-1),r(_(f),{to:`/faq`,class:`faq-more`},{default:h(()=>[...n[18]||=[c(`the full FAQ`,-1)]]),_:1}),n[21]||=c(` · `,-1),r(_(f),{to:`/docs`,class:`faq-more`},{default:h(()=>[...n[19]||=[c(`the docs`,-1)]]),_:1})])]),i(`section`,Pe,[n[29]||=i(`hr`,{class:`rule`},null,-1),n[30]||=i(`p`,{class:`smallcaps closing-label`},`Open the first letter`,-1),n[31]||=i(`h2`,{class:`display close-hed`},[c(` Start `),i(`em`,{class:`display-italic`},`free.`),c(` Upgrade when you're ready. `)],-1),i(`p`,Fe,[n[25]||=c(` First 100 sends and one domain are free with no card. The 14-day card-required trial begins when you choose a plan to lift those caps; cancel inside the trial from the Stripe portal and nothing is billed. Questions about the price itself belong in `,-1),r(_(f),{to:`/faq`,class:`inline-link`},{default:h(()=>[...n[24]||=[c(`the FAQ`,-1)]]),_:1}),n[26]||=c(`. `,-1)]),i(`div`,Ie,[r(_(f),{to:`/signup`,class:`btn btn-filled`},{default:h(()=>[...n[27]||=[c(`Start free — no card`,-1)]]),_:1}),r(_(f),{to:`/docs`,class:`btn`},{default:h(()=>[...n[28]||=[c(`Read the manual`,-1)]]),_:1})])]),r(ne)]))}}),[[`__scopeId`,`data-v-0f75f148`]]);export{Re as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.