Skip to main content
SourceTrustSign in

Help center

Guides for SourceTrust: Importing dependencies, reviewing licenses, external obligations, publishing attestation pages, billing, plain-language license explainers, and procurement-oriented explainers for common open-source licenses.

Bulk approve

← All articles

Bulk approve approves the packages of the licenses you tick, in one press, whenever you like. Everything else waits for you, and every run reports what it did.

Bulk approve sits in the notice above the packages list whenever something on the branch you are looking at can be bulk approved. The button opens the list instead of approving on the spot. The first time you open it on a project you meet a short explanation of how it works. After that it opens straight on the list, and How it works shows the explanation again. The list holds the licenses of this import with a count each, and it starts from the list saved in the project settings, or from the default set while there is none. The green button at the bottom of the dialog is what starts the run. Close the dialog and nothing is approved. A run covers the branch on screen and only approves packages that need review. It leaves the packages that are already approved, parked or removed, and the packages a person changed or took the approval back on. You can run it again whenever you like, for example with one more license ticked. While it runs, the button is hidden for everyone and the notice says it is approving. The first time a branch offers it, the notice states exactly how many packages will be approved, direct and transitive packages together, how many your team has already handled, how many are for you to review, and how many we could not check, and together they add up to the number in the heading.

Every run writes one line in Activity with who ran it and which licenses, also when it approved nothing. Every run is also counted in one dated sentence in the notice above the packages list. That sentence holds no second number, so what is left for you is only ever the live count in the heading above it, and it stays visible after review finishes.

The licenses you choose

Until you pick your own list, Bulk approve starts from the licenses whose only duty is that the license text and the copyright line travel with your product, which the license overview we generate for you already does, on your public page and in the files you can download: MIT, Apache, BSD, ISC and the other permissive and public domain ones. A permissive license whose text asks a person to do something more is not on that list, even though it sits in the same group: CC-BY asks for a credit where people come across the work, or a link from there to the credit, the old BSD and Apache 1.0 advertising clauses ask for a line in your advertising, and font licenses such as OFL set rules for changing and selling the font. You can tick any of them on purpose. You can save your own list in the project settings instead. Tick the licenses you want approved without a person, and the number in the dialog follows your choice at once. A tick in the dialog is for that run only, so the next run starts from the saved list again. A license the publisher fills in for each package is never offered, because we can never confirm that its text is the standard one.

Your list decides which licenses may be approved without a person. It changes nothing else. The package still needs a license text we confirmed and every step for your team ticked off, for every license on the list. A copyleft license you add still waits for its own step, and the package tells you which step is open.

Bulk approve after every import

Bulk approve after every import, under Review automation in the project settings, runs Bulk approve by itself after every import or push, with the list saved there, on every branch of the project that has finished its checks. Pressing Bulk approve on the project page never changes that setting or the saved list. While the setting is on, the button on a new import waits until the setting's own run has reported, or for 10 minutes at most.

Turning it off takes nothing back, and neither does removing a license from the list. Your list is kept when you turn it off, so turning it on again uses the licenses you chose. Adding a license, or turning the setting on, runs it again on every branch of the project that has finished its checks. A package that could not be checked the first time and heals later is approved by the same rule, without asking you again.

The button that approves every package with one license uses exactly the same checks as Bulk approve. It can never approve something Bulk approve would have left to you.

Why components are skipped

  • License not verified yet: Wait for background verification or confirm manually.
  • Could not be checked: we tried while the run was going and still had no answer. Open the package and use Check again when offered, or add license text from your installed copy or its source. Saving your text stops further attempts and protects it from one that is still running.
  • Not on your list: the license is not one you ticked for Bulk approve. Open the package, read what the license requires, and approve it yourself, or tick the license the next time you press Bulk approve.
  • A person took the approval back: Bulk approve leaves the package until someone approves it again or an import changes its license details.
  • A license text is waiting for you: we found a text and could not confirm that it is the standard one. Open the package and read it before you approve it.
  • Missing license text: Open the component and paste or fetch text.
  • Unmet external obligation: Complete the checklist on the component page.
  • Your team made a choice: when a person picked the license, edited the text, used the standard text or accepted the publisher's statement, the last step is yours. Open the package and approve it.
Bulk approve is a shortcut, not a legal sign-off. Your team still owns the final review.