Version 1.0.0, in force since 02.11.2026
Terms of Service
1. Who we are and what these terms cover
1.1 letr.dev is a transactional email service operated by Viascom GmbH, Weissbadstrasse 8b, 9050 Appenzell, Switzerland, UID CHE-269.801.554, VAT number CHE-269.801.554 MWST, registered in the commercial register of the Canton of Appenzell Innerrhoden. You reach us at [email protected].
1.2 These terms govern every contract between Viascom and the customer ("you") for the use of letr.dev: the HTTP API, the SMTP relay, the MCP server, the dashboard at app.letr.dev and the documentation.
1.3 The Acceptable Use Policy and the Data Processing Agreement are part of these terms. The privacy policy describes how we process personal data for which Viascom is the controller.
1.4 letr.dev serves customers in every country Stripe Managed Payments sells to. Stripe sells through Sold through Link, LLC ("Link"), the merchant of record for the payment, and charges the tax that applies where you are. You contract with Viascom GmbH (clause 1.1) and pay in CHF. "Viascom" and "we" in these terms mean Viascom GmbH.
1.5 letr.dev is open to companies and to private persons. A consumer is a private person who uses letr.dev for purposes outside a trade, business or profession. Where these terms give consumers more rights than other customers, the clause says so.
1.6 You must be at least 18 years old, or a legal entity represented by a person who may bind it.
2. How the contract is concluded
2.1 You sign up on letr.dev, choose whether you sign up as a company or as a private person, give the name, your email address, a website or repository and a description of what you will send and to whom, accept these terms, and pay the first monthly fee in Stripe Checkout. The contract languages are English and German.
2.2 The contract is concluded when Stripe confirms your payment. Your account can send from that moment.
2.3 We store the version of the terms you accepted and the time the order was completed. You receive an order confirmation by email. You can save and print these terms at any time from letr.dev.
3. Review and decline
3.1 After your account is live, a person at letr.dev checks it, your website or repository and what you send, normally within 1 Swiss business day of payment. The check follows the Acceptable Use Policy.
3.2 Until your first renewal is paid, we may decline an account without giving a detailed justification, in particular when the use is not transactional, when the website or the use case cannot be checked or when the domain or the name has a history of abuse. A decline ends the contract and stops sending at once. You receive the reason by email and the full first payment is refunded at once. The account is disabled and its data is deleted 30 days later.
4. The service
4.1 letr.dev sends transactional email that your systems hand over through the HTTP API, the SMTP relay or the MCP server, from sending domains you own and have verified by DNS records. letr.dev records the delivery events (sent, delivered, deferred, bounced, complained, failed) and makes them available in the dashboard, through the API and through signed webhooks.
4.2 letr.dev does not track whether a recipient opens an email or clicks a link, and we do not add tracking to your email.
4.3 letr.dev sends from shared IP addresses in Germany. Your sending reputation therefore depends in part on the other customers, and theirs on you. That is why the limits in clause 7 and the Acceptable Use Policy exist.
4.4 We aim for 99.9 % availability of the API a month, measured publicly at status.letr.dev. This is an objective, not a guarantee, and there are no service credits. We may interrupt the service for maintenance; where we can, we announce it on the status page in advance.
4.5 We may change the service as long as its core, sending transactional email from your domain with delivery events, stays. We announce changes that remove a feature you use at least 30 days in advance by email.
4.6 The documentation at letr.dev/docs describes the service as it is. The documentation is part of the contract where it states limits, thresholds and response times.
5. Your account and your duties
5.1 You keep your API keys, SMTP credentials and dashboard sign-in confidential and under your control. Anything sent with your credentials counts as sent by you until you tell us the credentials are compromised. Tell us at once at [email protected] when you suspect misuse; we then pause the account and revoke its keys.
5.2 You send only from domains you own or are authorised to use, and you keep their DNS records (SPF, DKIM, DMARC where set) in place. A domain whose verification fails stops sending after the grace period named in the dashboard email.
5.3 You keep the information in your account current: the owner's email address, the billing details and the use case.
5.4 You comply with the Acceptable Use Policy, with the law that applies to you and your recipients, and with the requirements of the recipients' mail providers.
5.5 You are responsible for the content of your email and for having the right to send it to each recipient. Viascom does not review content before sending.
5.6 Several people can use one account. The first user is the account owner. Only the owner may withdraw under clause 11 and receives the notices under these terms.
6. Prices and payment
6.1 The plan costs CHF 12 a month and includes 10'000 recipients a calendar month (UTC), counted per recipient: one email to three people counts three. Above 10'000, sending continues at CHF 0.50 per started block of 1'000 recipients, billed on the next invoice. All prices are net: at checkout and on each invoice, Stripe adds the tax that applies where you are.
6.2 You choose a monthly ceiling in the dashboard: 10'000 or 25'000 recipients, 25'000 by default. A ceiling of 10'000 means you never pay more than the monthly fee for sending. A change applies at once. At the ceiling, sending stops until the next calendar month.
6.3 On your request through Support, letr.dev may grant your account another ceiling of at least 10'000. The granted ceiling applies at once and appears as an additional choice under Billing, where you can switch to one of the others. We email the account owner whenever we grant, change or remove such a ceiling, with the most it can cost a month. A granted ceiling can be removed by us at any time with that email; the account then falls back to the ceiling named in it.
6.4 We email the account owner at 80 % and 100 % of the included 10'000 and at 90 % of the ceiling.
6.5 Payment runs through Stripe Checkout, by the methods it shows, monthly in advance for the plan and in arrears for the overage. Link sends receipts and invoices, and your statement shows LINK.COM* followed by letr.dev's descriptor. Invoices are also in the dashboard. A failed payment for the plan pauses the account (403 account_paused); it resumes once the payment succeeds.
6.6 We may change the prices with at least 30 days' notice by email to the account owner, effective from the next billing period after the notice. If you do not accept the change, you may terminate the contract to the date the change takes effect. For a consumer, a price change applies only if the consumer has not terminated by then.
6.7 Usage shown in the dashboard and GET /v1/usage is the basis for billing. Erasing a recipient's address under the Data Processing Agreement does not change the count.
6.8 Founding offer: the first 20 accounts that sign up by 31.03.2027, 23:59 Swiss time, get 50 % off the plan price for the first 24 months from their first payment; after that, the list price in force applies. Overage is billed at the full rate.
7. Limits, pauses and suspension
7.1 Technical limits: at most 50 recipients per email, 15 MB per email as sent, 600 API requests a minute per account (requests without a valid key count per IP address, per /64 for IPv6). The documentation at letr.dev/docs/limits lists them with the status codes.
7.2 An account sends to at most as many recipients a day as its step allows: 50 at first, 500 after 3 days, 2'000 after 14 more days and no daily limit from the first paid renewal. Leaving the first step also needs the review under clause 3.1. Every move up needs, since the current step began, the delivered recipients the documentation names, bounces under 2 % and complaints under 0.1 %. letr.dev may set an account to any step at any time to protect the shared sending infrastructure; the step and its limit are shown in GET /v1/usage.
7.3 Automatic pause: an account pauses at a bounce rate of 5 %, or at a complaint rate of 0.3 % with at least 2 complaints, over the last 7 days, counted once the account has sent to 50 recipients in that window. letr.dev warns the account owner by email before a pause: at 80 % of the way to a threshold, or at a complaint rate of 0.1 % with at least one complaint. The pause email names the reason and what to do. A person at letr.dev resumes the account after you have named and fixed the cause.
7.4 Pause by letr.dev: we may pause an account, and cancel email already queued, when we have reason to believe that it is used in breach of the Acceptable Use Policy, that its credentials are compromised, that it harms the deliverability of other customers, or when a mail provider, a blocklist operator or an authority requires it. We give the reason in the pause email, unless the law or an ongoing investigation prevents it. In urgent cases, for example phishing or malware, we pause first and inform you after.
7.5 A paused account is still billed the monthly fee. You may terminate during a pause under clause 10.
7.6 A paused account answers 403 account_paused, and your webhooks receive account.paused and, on resume, account.reactivated.
8. Data protection
8.1 For the email you send and the delivery events about it, you are the controller and Viascom is your processor. The Data Processing Agreement governs this processing. By accepting these terms you also conclude the Data Processing Agreement.
8.2 For your account, billing and contact data, and for the abuse handling records described in the privacy policy, Viascom is the controller. The privacy policy at letr.dev/privacy describes this processing.
8.3 Email content is stored encrypted. letr.dev's queue keeps it at most 3 days after the send time, and a scheduled email (up to 7 days ahead) keeps its content from the request until its send time. If the receiving mail server defers the email, the mail server's queue keeps it at most 3 more days after the hand-off. Sender, recipients, subject, tags, delivery events and the content of each email are shown for 30 days and deleted after 32; while the message history add-on (clause 10.6) is paid they are shown for 365 days and deleted after 367. Suppression entries stay until you remove them or the account ends. Backups can hold all of this for up to 52 weeks after it is deleted (clause 12.3 of the Data Processing Agreement). The list of sub-processors is at letr.dev/subprocessors.
9. Intellectual property and feedback
9.1 letr.dev, its software, documentation and brand belong to Viascom or its licensors. You receive a non-exclusive, non-transferable right to use letr.dev for the duration of the contract within these terms.
9.2 Your email content, your domains and your data stay yours. You grant Viascom the right to process them as far as the service needs it.
9.3 Feedback you give us about letr.dev may be used by us without obligation.
10. Term and termination
10.1 The contract runs for one month and renews for a further month until terminated.
10.2 You may terminate at any time in the dashboard or by email to [email protected], with effect at the end of the current billing period. You can also cancel the subscription at Link, and a data deletion request at Link cancels it; the contract then ends when the subscription ends. Fees already paid are not refunded, except under clauses 10.9 and 11.
10.3 We may terminate with 30 days' notice by email to the account owner, with effect at the end of a billing period.
10.4 Either party may terminate without notice for good cause. Good cause for Viascom includes a serious or repeated breach of the Acceptable Use Policy, sending phishing or malware, a sanctions match, a chargeback, a payment more than 30 days overdue, and false statements at signup.
10.5 When the contract ends, the account is disabled. Export what you need before then; the API and dashboard keep the content and delivery events of the account's message history available until the account is disabled. 30 days after the end, we delete the account with its domains and DKIM keys, API keys, webhooks, suppression list, history and users. Billing records stay as long as the law requires: 10 years under Art. 958f Code of Obligations. We keep them in our own accounts; a deletion request at Link can remove the copies at Stripe. Encrypted backups may hold the data for up to 52 weeks after that deletion (clause 12.3 of the Data Processing Agreement).
10.6 Message history add-on: the account owner can buy 365 days of message history in the dashboard under Billing, for CHF 60 a year, paid upfront, on the same tax terms as the plan. It keeps the metadata and the content in clause 8.3 longer. As the controller of that data, you reflect the longer period in your own privacy notice where the law requires it.
10.7 The add-on is its own subscription. It runs for one year and renews for a further year until cancelled. You may cancel it at any time in the dashboard or at Link, with effect at the end of the paid year; a data deletion request at Link cancels it too. Fees already paid are not refunded, except under clauses 10.8, 10.9 and 11.5. When the paid year ends the add-on expires: within a day you see 30 days of history again, and after 14 days we delete metadata and content older than 32 days. If a renewal cannot be charged, the same applies from the end of the paid year and sending is not paused; paying the open invoice within those 14 days keeps everything, and after them, we end the add-on.
10.8 The add-on depends on the plan. If the contract ends, the add-on ends with it and clause 10.5 applies to its data. Fees already paid for the add-on are not refunded, except under clauses 10.9 and 11.6, and except that we refund the unused part of the paid year when we terminate under clause 10.3 or when the Data Processing Agreement grants a refund of prepaid fees (its clause 8.2).
10.9 Stripe, through Link, can refund a payment under its own policy within 60 days of it, independently of clause 11. Requests for that go to Link support.
11. Right of withdrawal, 14 days
11.1 letr.dev grants every customer, company or private person, the right to withdraw from the contract within 14 days of the first payment, without giving reasons.
11.2 To withdraw, use the "Withdraw from contract" button under Billing in the dashboard. Only the account owner can use it. A consumer can also withdraw by a clear statement to the contracting company at [email protected], for example with the model form in clause 11.7. You receive a confirmation email with the date and time we received the withdrawal, the refunded amount and when the account's data will be deleted.
11.3 The first payment is refunded in full to the payment method you used, usually within a few business days depending on your card issuer. No overage is billed. The account is disabled at once and deleted 30 days later.
11.4 After 14 days from the first payment the withdrawal button disappears, and the ordinary termination under clause 10 applies.
11.5 letr.dev grants the same right for the message history add-on: while it runs, you may withdraw from it within 14 days of buying it, without giving reasons, with the "Withdraw from the add-on" button under Billing in the dashboard. Only the account owner can use it. The payment is refunded in full to the payment method you used, the add-on ends at once and the plan keeps running. You receive a confirmation email. You see 30 days of history again, and within a day we delete metadata and content older than 32 days. A renewal starts no new period; buying the add-on again after it ended does.
11.6 A withdrawal from the contract under clause 11.1 also ends the add-on and refunds its first payment in full. That refund gets its own confirmation email.
11.7 Model withdrawal form: "To [Viascom GmbH, address as in clause 1.1], [email protected]: I/We hereby give notice that I/we withdraw from my/our contract for the provision of the following service: letr.dev. Ordered on / received on: [date]. Name of consumer(s): [name]. Address of consumer(s): [address]. Signature of consumer(s), only if this form is notified on paper: [signature]. Date: [date]."
12. Warranty
12.1 letr.dev delivers email to the recipient's mail server. Whether and when that server accepts an email, places it in the inbox or a spam folder, is outside our control. We do not warrant inbox placement, delivery times or the behaviour of recipient mail providers.
12.2 We provide letr.dev with the care of a diligent provider. Beyond that, and to the extent the law allows, letr.dev is provided as it is, without warranty of fitness for a particular purpose or uninterrupted operation. For consumers the mandatory warranty rights remain.
13. Liability
13.1 Viascom is liable without limit for damage caused intentionally or by gross negligence, for personal injury, and where the law does not allow a limit.
13.2 For slight negligence, Viascom's liability per contract year is limited to the fees you paid for letr.dev in the 12 months before the event that caused the damage. Liability for lost profit, lost data that you could have backed up, loss of business, indirect and consequential damage is excluded within the limits of the law.
13.3 You indemnify Viascom against third-party claims that arise from your email content, your recipient lists or your breach of the Acceptable Use Policy, including reasonable legal costs, unless Viascom caused the claim. This clause does not apply to consumers beyond what the law allows.
13.4 Viascom is not liable for events outside its reasonable control, including failures of Hetzner, Cloudflare, Stripe, WorkOS, DNS, the internet, recipient mail providers and blocklist operators, as far as Viascom chose and instructed them with due care. This does not limit Viascom's responsibility for its sub-processors under clause 8.3 of the Data Processing Agreement.
14. Changes to these terms
14.1 We may change these terms and the Acceptable Use Policy. We email every change to the account owner at least 30 days before it takes effect, with the new version and a summary of what changed, except a change to the Acceptable Use Policy that only clarifies or relaxes it, which may take effect at once (clause 8 of the Acceptable Use Policy). The current version and its date are always on letr.dev.
14.2 If you do not accept a change, you may terminate the contract to the date the change takes effect, in the dashboard or by email. If you continue to use letr.dev after that date, the new version applies.
14.3 Changes to the Data Processing Agreement's sub-processor list follow the Data Processing Agreement (30 days' notice, right to object).
15. Communication
15.1 We communicate by email to the account owner's address and in the dashboard. You communicate with us at [email protected] or through Support in the dashboard. Abuse reports go to [email protected].
15.2 We answer support requests by email within 1 Swiss business day; when sending is stopped or paused, within 4 business hours (Monday to Friday, 08:00 to 18:00 Swiss time).
16. Final provisions
16.1 You may not transfer the contract without our consent. We may transfer it to a company of the Viascom group with 30 days' notice; you may terminate to the date of the transfer.
16.2 If a clause is invalid, the rest of the terms stay in force. The invalid clause is replaced by what comes closest to its purpose within the law.
16.3 These terms exist in English and German. In case of a discrepancy, the German version prevails.
16.4 Swiss law applies, excluding the United Nations Convention on Contracts for the International Sale of Goods. For a consumer, the mandatory consumer protection rules of the country of the consumer's habitual residence remain in force.
16.5 The place of jurisdiction is Appenzell, Switzerland. For a consumer, the places of jurisdiction prescribed by law remain, in particular the consumer's domicile for actions by the consumer (Art. 32 of the Civil Procedure Code; Art. 114 of the Private International Law Act for consumers abroad).
Viascom GmbH, Appenzell, 02.11.2026