# Developer terms

> Page: https://docs.plotwork.dev/developer-terms. Index of every page: https://docs.plotwork.dev/llms.txt

The terms for building an app that signs people in with their Plotwork account and calls Plotwork for them, with Sign in with Plotwork. They sit beside the [terms of service](https://docs.plotwork.dev/terms-of-service.md) and the [acceptable use policy](https://docs.plotwork.dev/acceptable-use-policy.md), which still apply to you and to your app. Plotwork is run by Buun Group Pty Ltd (ABN 75 687 193 675).

Last updated: 2026-10-29

> Draft for review. These developer terms are a draft that Buun Group Pty Ltd has not yet adopted. Until this note is removed, the terms of service and the acceptable use policy are the terms that apply to apps. Questions about the draft go to legal@buungroup.com.

## TL;DR

| Question | Answer |
|---|---|
| Who do these terms apply to? | Anyone who registers an app in the Plotwork portal, for themselves or for an organisation, and the app itself. |
| Who may register an app? | Anyone with a Plotwork account, on any plan, who accepts the terms of service. An organisation's owner or admin may register apps for the organisation. |
| What may my app do with what it receives? | Use it only to do what the person asked your app to do. Do not sell it, do not train models on it without the person's consent, and delete it when the person disconnects or asks. |
| What must I keep safe? | The client secret, the tokens, and the data. Use PKCE and `state` on every sign-in, and tell us about an incident within 72 hours. |
| Can I use the Plotwork name and logo? | To say that your app signs in with Plotwork, with the button kit, and without suggesting that Plotwork made or endorses your app. |
| What limits apply? | The plan of the person who approved your app, and the rate limits of the API. |
| What happens if my app misuses access? | We may limit it, end its connections, suspend it, or delete it. |

## Who may register an app

| Rule | Detail |
|---|---|
| An account | You need a Plotwork account and must accept the [terms of service](https://docs.plotwork.dev/terms-of-service.md). Registering is open on every plan. |
| For an organisation | An organisation's owner or admin may register apps that belong to the organisation, and may keep one to the organisation's members. The organisation answers for its apps. |
| True details | The name, homepage and redirect addresses of your app must be yours and must say what the app is. Do not name an app after a product or company that is not yours. |
| One app, one purpose | Register a separate app for each product, so a person approving it knows what they are connecting. |

## What your app may do with data

Your app receives only what a person approves: their name and account id with `profile`, their email address with `email`, the diagrams their account can see with `library:read`, and the right to draw or publish with `diagrams:use` and `diagrams:publish`.

| Rule | Detail |
|---|---|
| Only for the person's request | Use what you receive only to give the person the feature they connected your app for. Ask only for the permissions that feature needs. |
| No selling | Do not sell, rent or trade what you receive, or hand it to anyone else, except to a provider that runs your app for you under terms as strict as these. |
| No training without consent | Do not use a person's diagrams, names or email addresses to train or improve a machine learning model unless that person agreed to it, separately and in plain words. |
| Delete when asked | When a person disconnects your app, or asks you to, delete what you received from Plotwork for them within 30 days, unless the law requires you to keep it. A refused token (`invalid_grant` or `oauth.invalid_token`) means the connection ended. |
| Your own privacy policy | Tell people, in a privacy policy linked from your app, what you take from Plotwork, why, and how long you keep it. |
| Respect the organisation's rules | A diagram an organisation keeps private stays private: show it only to the person who signed in, never at a public address. |

## Security

| Rule | Detail |
|---|---|
| Keep secrets on a server | A client secret belongs only on your server. Never put a client secret, an API key or a refresh token of a confidential app in a browser, a mobile app or a public repository. An app with no server registers as public and has no secret. |
| PKCE and `state` | Use PKCE with S256 and a fresh `state` on every sign-in, and check the `state` and the `iss` you get back. |
| Store tokens with care | Keep tokens encrypted at rest or in memory, never in logs, and never in an address. |
| Rotate | Make a new client secret at once if you think it was seen. The old one stops working when you do. |
| Report incidents | If you learn that tokens, secrets or data from Plotwork were exposed, tell security@plotwork.dev within 72 hours, with what happened and which people it affects. |
| Do not get around the controls | Do not work around a person's choices, an organisation's Allowed apps list, a rate limit, or a refused token. |

## Branding

| Rule | Detail |
|---|---|
| Use the button kit | Start Sign in with Plotwork from the button in the [Sign in with Plotwork](https://docs.plotwork.dev/sign-in-with-plotwork.md) guide, as it is, or with the words "Sign in with Plotwork". |
| No endorsement | Do not suggest that Plotwork or Buun Group Pty Ltd made, sponsors, certifies or endorses your app. |
| The logo | Use the Plotwork name and logo only to refer to Plotwork, as the [trademarks and icons](https://docs.plotwork.dev/trademarks-and-icons.md) page and the brand kit allow. Do not change the mark or use it as your app's own logo. |

## Rate limits and plans

| Rule | Detail |
|---|---|
| The approver's plan | Every call your app makes spends the daily allowance and limits of the person or organisation that approved it, as [Plans and billing](https://docs.plotwork.dev/plans-and-billing.md) describes. A person on Free gets Free limits. |
| Rate limits | The API's rate limits apply to your app's calls as they do to any other. Back off when you are told to with `429` and `Retry-After`. |
| No spreading | Do not use many apps, accounts or connections to get past a limit. |
| Changes | We may change limits, scopes and endpoints. We will try to give notice of a change that breaks a working app. |

## Suspension and ending

We may limit your app, end its connections, suspend it or delete it if it breaks these terms, the terms of service or the acceptable use policy, if it puts people or the service at risk, or if the law requires it. Where we can, we will tell you why and how to fix it first. You may delete your app at any time in the portal, which ends every connection to it. These duties about data you already received continue after your app is deleted.

## Changes to these terms

We may change these terms. The date at the top says when they last changed. A change that adds a duty for apps is shown here at least 30 days before it applies, except where the law or a security problem needs it sooner. Questions go to legal@buungroup.com.

## See also

| Page | Why |
|---|---|
| [Sign in with Plotwork](https://docs.plotwork.dev/sign-in-with-plotwork.md) | How to register an app, the flow, and the button kit |
| [Terms of service](https://docs.plotwork.dev/terms-of-service.md) | The agreement these terms sit beside |
| [Acceptable use policy](https://docs.plotwork.dev/acceptable-use-policy.md) | What Plotwork may not be used for |
| [Privacy policy](https://docs.plotwork.dev/privacy-policy.md) | What Plotwork keeps about an app connection |
| [Legal center](https://docs.plotwork.dev/legal-center.md) | Every policy in one place |
