Skip to content
CredenShare
Account

Plans and Limits

Every plan entitlement in one table — what each tier includes, the exact feature code behind it, and the two traps in the raw plan feed.

One table for every entitlement the product enforces, with the feature code beside it.

The entitlement matrix

Unlimited is the value -1 in the feed. Yes and No are the strings true and false. Not set means the code is absent from that plan's features array — see Reading the raw feed.

FeatureCodeFreeSoloBasicPlusBusinessEnterprise
Shares includedmax_shares3 per day50100200500Unlimited
Fields per sharemax_fields2235UnlimitedUnlimited
Access-log retention, daysmax_days_access_logs0373090180
Password protectionview_protectionNoYesYesYesYesYes
Secure view promptsecure_view_promptNoYesYesYesYesYes
Failed attempts tolerancefailed_attemp_toleranceNot setYesYesYesYesYes
IP Whitelistip_access_restrictionNoNoNoNoYesYes
Zero-knowledge custodyzero_knowledgeNoNoNoNoYesYes
Teamsmulti_userNoNoYesYesYesYes
Included seatsincluded_seats00155Unlimited
Secure Requestssecure_requestsNot setNot setNot setNot setYesYes
Field templatesfield_templatesNoNoNoNoYesYes
Templates per organisationmax_field_templates_per_org000025100
Fields per templatemax_fields_per_template00003030
Custom brandingcustom_brandingNoNoNoNoYesYes
Slack integrationslack_integrationNoNoNoYesYesYes
API accessapi_accessNoNoNoNoYesYes
API rate limit, requests per minuteapi_rate_limit_rpm0000100600
API keysmax_api_keys0000525
Webhook endpointsmax_webhooks0000310

Annual plans carry exactly the same entitlements as their monthly equivalent. There are eleven plan codes in the feed — free, then a monthly and a yearly code for each of Solo, Basic, Plus, Business and Enterprise — but solo_yearly and solo resolve to an identical feature set, and so does every other pair. Only the price differs.

What some of these mean

  • Shares included is a per-day allowance on Free and a per-billing-month allowance on every paid plan, anchored to your renewal day. Expired and deleted shares still count. See Plans and share allowance.
  • Password protection, Secure view prompt, Failed attempts tolerance and IP Whitelist are the four gated controls in the share creation form. The first three are disabled outright on a plan without them; IP Whitelist stays typeable but the addresses are dropped from the request. All four are refused server-side if sent anyway, with error_code 53 and the message Your plan doesn't support this feature, please upgrade to higher plan.
  • Zero-knowledge custody is not encryption. Content is end-to-end encrypted on every plan including Free — the key is generated in your browser and travels in the link. This entitlement buys custody: an account passphrase, device linking and key wraps, so you can reach your own content without the link. See Zero-knowledge custody.
  • Included seats is how many team members the plan pays for. multi_user controls whether team surfaces exist at all; included_seats controls how many people fit. A plan can have one without the other — Solo has neither, Basic has Teams with a single seat.
  • Custom branding adds a Branding tab under Account, and branding on a team.
  • API rate limit is a sustained rate; the burst ceiling is twice it. See Errors and rate limits.

Entitlements can be overridden per account, so a negotiated agreement beats the plan value — but only for the twelve codes that are open to negotiation: api_access, api_rate_limit_rpm, max_api_keys, max_webhooks, max_shares, max_fields, max_days_access_logs, included_seats, zero_knowledge, multi_user, secure_requests and slack_integration. Every other row above comes from the plan and only from the plan. An entitlement change takes up to 30 seconds to reach the API.

Reading the raw feed

The matrix above is built from https://api.credenshare.io/plans/all, the same feed Account → Subscription reads. Two things in that payload mislead people.

The top-level max_shares is not your plan's allowance. It is 0 on all eleven plans, because it is a per-account remaining counter rather than a plan figure. The allowance is the max_shares entry inside the plan's features array. included_seats appears in both places too, but there the two agree on every plan, so either is safe to read.

An absent code is not a denial. A feature the plan does not include is normally present with feature_value set to "false". Two codes are instead missing entirely: failed_attemp_tolerance on Free, and secure_requests on Free, Solo, Basic and Plus. Absence means no row was ever seeded for that plan — a gap in the data, not a recorded policy. Gates written to tolerate an unseeded code treat absence as allowed rather than refusing every tier, so only an explicit false is a settled denial. Both of the current absences are read by gates that require an explicit true, which is why they show as unavailable in the product; do not generalise from that to a code you find missing in future.

Where to check your own plan

Account → Subscription shows your current plan, the shares remaining on it, and the Annual and Monthly options. Enterprise is arranged directly rather than bought: the Enterprise card shows no price and a Contact Us button, which opens an inquiry form in the app. You can also write to hello@credenshare.io.