|  | # BoringSSL | 
|  |  | 
|  | BoringSSL is a fork of OpenSSL that is designed to meet Google's needs. | 
|  |  | 
|  | Although BoringSSL is an open source project, it is not intended for general | 
|  | use, as OpenSSL is. We don't recommend that third parties depend upon it. Doing | 
|  | so is likely to be frustrating because there are no guarantees of API or ABI | 
|  | stability. | 
|  |  | 
|  | Programs ship their own copies of BoringSSL when they use it and we update | 
|  | everything as needed when deciding to make API changes. This allows us to | 
|  | mostly avoid compromises in the name of compatibility. It works for us, but it | 
|  | may not work for you. | 
|  |  | 
|  | BoringSSL arose because Google used OpenSSL for many years in various ways and, | 
|  | over time, built up a large number of patches that were maintained while | 
|  | tracking upstream OpenSSL. As Google's product portfolio became more complex, | 
|  | more copies of OpenSSL sprung up and the effort involved in maintaining all | 
|  | these patches in multiple places was growing steadily. | 
|  |  | 
|  | Currently BoringSSL is the SSL library in Chrome/Chromium, Android (but it's | 
|  | not part of the NDK) and a number of other apps/programs. | 
|  |  | 
|  | Project links: | 
|  |  | 
|  | * [API documentation](https://commondatastorage.googleapis.com/chromium-boringssl-docs/headers.html) | 
|  | * [Issue tracker](https://crbug.com/boringssl) | 
|  | * [Filing new (public) issues](https://crbug.com/boringssl/new) | 
|  | * [CI](https://ci.chromium.org/p/boringssl/g/main/console) | 
|  | * [Code review](https://boringssl-review.googlesource.com) | 
|  |  | 
|  | To file a security issue, use the [Chromium process](https://www.chromium.org/Home/chromium-security/reporting-security-bugs/) and mention in the report this is for BoringSSL. You can ignore the parts of the process that are specific to Chromium/Chrome. | 
|  |  | 
|  | There are other files in this directory which might be helpful: | 
|  |  | 
|  | * [PORTING.md](./PORTING.md): how to port OpenSSL-using code to BoringSSL. | 
|  | * [BUILDING.md](./BUILDING.md): how to build BoringSSL | 
|  | * [INCORPORATING.md](./INCORPORATING.md): how to incorporate BoringSSL into a project. | 
|  | * [API-CONVENTIONS.md](./API-CONVENTIONS.md): general API conventions for BoringSSL consumers and developers. | 
|  | * [STYLE.md](./STYLE.md): rules and guidelines for coding style. | 
|  | * include/openssl: public headers with API documentation in comments. Also [available online](https://commondatastorage.googleapis.com/chromium-boringssl-docs/headers.html). | 
|  | * [FUZZING.md](./FUZZING.md): information about fuzzing BoringSSL. | 
|  | * [CONTRIBUTING.md](./CONTRIBUTING.md): how to contribute to BoringSSL. | 
|  | * [BREAKING-CHANGES.md](./BREAKING-CHANGES.md): notes on potentially-breaking changes. | 
|  | * [SANDBOXING.md](./SANDBOXING.md): notes on using BoringSSL in a sandboxed environment. |