Terms of Use
Last updated 29 September 2026
This page says what haas-lab does when you run firmware on a board here, what a run costs, what we promise about our own bench, and what we do not promise about a board that another user hosts. It is written to be read, not skimmed: every sentence describes something the service actually does.
1.What these terms cover
haas-lab is operated by an individual based in the Republic of Korea. There is no company behind it yet — no incorporated entity of any kind — and the privacy notice says the same and says why. If that changes, this section changes with it and the date at the top moves.
These are the terms on which you use haas-lab: submitting firmware to run on a board, and hosting a bench of your own so that other people’s firmware can run on your boards. They apply to everyone with an account.
Nothing on haas-lab is sold today. Every credit in existence was granted, not bought. Credits buy board time on our bench and nothing else: they are not redeemable for cash and there is no way to move them to another account. So there are no purchase terms here, because there is nothing to buy. If that changes, this page changes first.
What we do with your personal data — what we collect, where it goes, and how to get it back or deleted — is in the privacy notice, not here.
2.Your account
You sign in with a Google or GitHub account. Everything submitted while signed in, or with an API token you created, is yours: it runs under your name, spends your credits and counts toward your reputation, whoever actually pressed the button. Keep your tokens to yourself. You can revoke one at any time from your tokens page.
You can delete your account yourself from your profile page. The privacy notice says what that removes, what it keeps and for how long, and that a deletion waits while a damage report that our own bench, or we, filed about one of your jobs is still under review. A report from a self-hosted bench about a free run does not hold it up; deleting your account deletes that report with the job, unreviewed.
3.What you may run, and what is refused before it runs
Your firmware runs unattended on a real board. Nobody reads it first. What stands between it and the board is a set of static checks, which refuse an image that is larger than four megabytes, that was built for a different chip than the board it is going to, or that would write the board’s bootloader or partition table — anything below the region a job is allowed to write. A refused job is never flashed and costs nothing.
Whether raw firmware images are accepted from your account is shown on the submission form. Scripts and C source are accepted either way: we compile those into a runtime we know before they go anywhere near a board.
The boards carry a radio: Wi-Fi, and Bluetooth on most of them. A raw firmware image or a MicroPython script can use it — join a network in range, run its own access point, listen, or transmit. C source is built without the radio libraries and cannot.
Do not submit firmware written to damage a board, to write outside the region a job is allowed to write, or to use a board’s radio against a network or a device that is not yours. Do not use a board to do anything unlawful where you are or where the board is. A job that damages a board has the consequences in section 5, whichever bench it ran on.
4.Our bench: what a run costs and what we promise
Boards we run ourselves cost credits. Before you submit, you are shown an estimate for the board time you asked for. That estimate, plus a deposit that depends on your reputation tier, is reserved from your balance while the job waits and runs.
You are charged for the time the board was actually occupied by your job, as measured by our server, and never more than the estimate you were shown. Whatever is left of the reservation comes back when the job settles. Stopping a job early keeps what the board printed and returns the part of the window you did not use. Cancelling a job that has not run yet returns the whole reservation.
If no working board could run your job, the job is cancelled and the reservation comes back in full. You are not charged for our hardware failing.
We do not promise that a board is free when you want it, that a queued job runs by any particular time, or that a board stays online. Boards fault and are taken offline; jobs wait in a queue. The estimate is a price, not a schedule.
5.Damage to a board, and your reputation
A bench files a damage report when a board stops responding after a job’s firmware was written to it. The job is held for review and the board is taken offline until a person has looked at it.
We review every report and either confirm or dismiss it. If we dismiss it, the job settles as if the report had never been filed. If we confirm it and the job ran on our bench, the deposit is kept toward the assessed cost of the board, any shortfall comes out of your remaining credits, and if those do not cover it your account is locked; write to us to sort out the rest.
A confirmed report lowers your reputation score by 50, whichever bench the job ran on. Your score starts at 0 and rises by 1 for each job that completes. Your score and your email address set your tier, and your tier sets the deposit our bench asks of you, as a share of what the board is worth:
- NEW: 100%. Where every account starts.
- VERIFIED: 50%, from a score of 5, once GitHub or Google has confirmed the email address on your haas-lab account.
- TRUSTED: 10%, from a score of 25 with the same.
- PARTNER: none, and only by arrangement with us.
That confirmation is your provider’s word that the address is yours, checked when you sign in. The address checked is the one your haas-lab account was opened with, so if you have since changed it at GitHub or Google it may not be confirmed. It is not a check of who you are.
6.Self-hosted boards
Some boards on haas-lab are hosted by other users on their own machines. They are listed as self-hosted, with the display name of the person hosting them, and a job never lands on one unless you chose it by name.
haas-lab does not operate a self-hosted board. We do not run, inspect or control the board, the machine it is plugged into, or the network that machine is on. We do not know where it is: a host can be anywhere in the world, and we neither collect nor verify where. The host is another user of haas-lab, not someone who works for us.
We promise nothing about availability. A host can close their bench, change who may use it, or unplug a board at any moment, without telling you or us. A job you queued on a self-hosted board may never run, and one that started may never finish.
A run on a self-hosted board is free, and nothing is owed to you for it. Nothing is reserved and nothing is charged. If the job does not run, runs differently from what you expected, or its output is lost, wrong or late, there is no refund, because there was nothing to refund; no credit in its place; no re-run; and haas-lab offers you no remedy for anything that happened on the host’s hardware. If you need a run you can rely on, use our bench.
When you choose a self-hosted board, the host’s machine receives your firmware, or your source code and the files you attach to it, what you type at the job’s console, and the serial output it produces, and the host sees your display name, the board, the job’s status and when it ran. They cannot see your email address. Section 12 of the privacy notice says the same and says why.
If the host’s bench reports that your job damaged their board, the report is reviewed like any other and, if confirmed, lowers your reputation the same way. No credits are taken, because none were reserved. If you delete your account before it is reviewed, the report is deleted with the job and is not reviewed. Anything beyond that between you and the host — a replacement board, say — is between you and the host, and haas-lab is not part of it.
7.Hosting a bench
You can run the bench software on a machine of your own, attach boards you own, and choose who may use them: only you, people you invite by email address or by a link you share, or everyone. A link lets in whoever opens it, signs in and chooses to join, until it expires, is used up or you revoke it. It works only while your bench is open to invited people. Anyone signed in who holds a live link sees your display name and the bench's name before choosing whether to join. Revoking a link does not remove the people it already let in; you remove them yourself, and they can leave on their own. A board serves nobody until it has passed our probe, and you can take it off the list, or close the whole bench, at any time.
Opening your bench lets other people’s firmware run on your hardware. The static checks in section 3 apply to it and nothing else does: we do not read it, and we do not promise that it is harmless to your board, your machine or your network. Attach only hardware you own or have the right to expose this way, on a machine and a network you are prepared to expose to it.
That includes the air around it. A job’s firmware can use your board’s radio to join a network in range, run its own access point, listen to what is transmitted nearby, or transmit itself, and nothing we run detects or stops it. Section 3 forbids using a board’s radio against a network or device that is not the submitter’s; it does not prevent it. Host only where you are prepared for that.
Hosting pays nothing and costs nothing. Runs on your boards are free to the people who submit them, and haas-lab pays hosts nothing for them.
The people you open the bench to are told that it is hosted by you and not by us, see your display name beside your boards, and are told that we make them no promise about it. You see their display name, the board, the job’s status and when it ran, and never their email address. Your machine receives each job’s firmware, or its source code and the files attached to it, what its submitter types at its console, and its serial output.
If your bench reports that a job damaged one of your boards, we review the report. If we confirm it, the submitter’s reputation drops. If the submitter deletes their account before we review it, the report is deleted with their job and is not reviewed. haas-lab does not pay you for the board and does not collect anything from the submitter on your behalf.
Your bench has a key. Anyone holding it can report results and damage as your bench, so keep it private; you can replace it from your bench page at any time. Deleting your account deletes your benches and takes their boards off the list.
8.Changing or ending things
We can refuse a job, take a board off the list, or stop the service, at any time. Credits are granted, not bought, so there is nothing to return if the service ends.
When these terms change, this page changes and the date at the top moves. For a change that takes something away from you, we will tell you before it takes effect rather than after.
9.Contact
Questions about these terms go to privacy@haas-lab.com, the same address as the privacy notice. We aim to respond within 10 working days.