# CalmLens > Content moderation, asset storage, semantic search and controlled CDN delivery. Documentation pages are available as Markdown by appending .md to their URL. Check evaluation status before reading scores; unavailable checks do not establish safety. ## Documentation - [Assets](https://calmlens.com/docs/api/assets.md) - [CDN](https://calmlens.com/docs/api/cdn.md) - [Events](https://calmlens.com/docs/api/events.md) - [Folders](https://calmlens.com/docs/api/folders.md) - [API reference](https://calmlens.com/docs/api.md) - [Lenses](https://calmlens.com/docs/api/lenses.md) - [Health check](https://calmlens.com/docs/api/system.md) - [Changelog](https://calmlens.com/docs/changelog.md) - [Examples](https://calmlens.com/docs/examples.md) - [Asset lifecycle and moderation](https://calmlens.com/docs/guides/asset-lifecycle.md) - [Audio and video moderation](https://calmlens.com/docs/guides/audio-and-video.md) - [Authentication](https://calmlens.com/docs/guides/authentication.md) - [Delivering assets](https://calmlens.com/docs/guides/delivering-assets.md) - [Error handling](https://calmlens.com/docs/guides/error-handling.md) - [Lenses and transforms](https://calmlens.com/docs/guides/lenses.md) - [Local development](https://calmlens.com/docs/guides/local-development.md) - [Category definitions](https://calmlens.com/docs/guides/moderation-categories.md) - [Policies and actions](https://calmlens.com/docs/guides/moderation-policies.md) - [Reading moderation reports](https://calmlens.com/docs/guides/moderation-reports.md) - [Multipart uploads](https://calmlens.com/docs/guides/multipart-uploads.md) - [Notifications and connectors](https://calmlens.com/docs/guides/notifications.md) - [OCR and image reports](https://calmlens.com/docs/guides/ocr.md) - [Organising assets](https://calmlens.com/docs/guides/organising-assets.md) - [Pagination and filtering](https://calmlens.com/docs/guides/pagination-and-filtering.md) - [Members and permissions](https://calmlens.com/docs/guides/project-collaboration.md) - [Search settings, docs and assets](https://calmlens.com/docs/guides/search.md) - [Testing your integration](https://calmlens.com/docs/guides/testing.md) - [Uploading assets](https://calmlens.com/docs/guides/uploading-assets.md) - [Webhooks](https://calmlens.com/docs/guides/webhooks.md) - [How CalmLens works](https://calmlens.com/docs/how-it-works.md) - [Get started with the CalmLens API](https://calmlens.com/docs.md) - [Go SDK](https://calmlens.com/docs/sdk/go.md) - [Go testing](https://calmlens.com/docs/sdk/go/testing.md) - [SDKs](https://calmlens.com/docs/sdk.md) - [Java SDK](https://calmlens.com/docs/sdk/java.md) - [Java testing](https://calmlens.com/docs/sdk/java/testing.md) - [JavaScript and TypeScript SDK](https://calmlens.com/docs/sdk/javascript.md) - [JavaScript testing](https://calmlens.com/docs/sdk/javascript/testing.md) - [Python SDK](https://calmlens.com/docs/sdk/python.md) - [Python testing](https://calmlens.com/docs/sdk/python/testing.md) - [Ruby SDK](https://calmlens.com/docs/sdk/ruby.md) - [Ruby testing](https://calmlens.com/docs/sdk/ruby/testing.md) - [Rust SDK](https://calmlens.com/docs/sdk/rust.md) - [Rust testing](https://calmlens.com/docs/sdk/rust/testing.md) ## Blog - [Find images, audio and video in your own words](https://calmlens.com/blog/find-images-with-natural-language): Search your CalmLens media by what it shows or says, from the portal or your own code, and see how the search index is built and kept current. - [Keeping six CalmLens SDKs in step](https://calmlens.com/blog/keeping-six-calmlens-sdks-in-step): Python and Go now match the JavaScript SDK, Rust, Ruby and Java have guides, and shared fixtures check that every SDK sends the same requests. - [Test CalmLens webhooks on localhost](https://calmlens.com/blog/test-calmlens-webhooks-on-localhost): Forward your project's events to a local handler with the CalmLens CLI, verify their signatures, and see how test sends and delivery retries behave. - [Moderating uploads and prompts in PolySnap](https://calmlens.com/blog/polysnap-calmlens-integration): A worked example of CalmLens in an image-generation app: private uploads, prompt checks before tokens are spent, cached decisions and signed webhooks. - [Moderation rules that act on what was found](https://calmlens.com/blog/moderation-rules-that-act-on-what-was-found): CalmLens policies can act on qualifiers such as graphic, historical or support and prevention, and one account policy can run several projects. - [Name your image sizes once with lenses](https://calmlens.com/blog/reusable-image-transforms-with-lenses): How CalmLens lenses turn resize and format rules into short, versioned CDN URLs, and how to define them from your deploy script. - [Sending large files to CalmLens one part at a time](https://calmlens.com/blog/sending-large-files-one-part-at-a-time): Multipart uploads send a large file to CalmLens in ordered parts: how an upload opens, continues and ends, which limits apply and when moderation starts. - [Following an asset from upload to webhook](https://calmlens.com/blog/following-an-asset-from-upload-to-webhook): Asset pages now show an asset's events and the webhook deliveries they produced, and the asset list can filter for flagged content and sub-assets. ## API contract - [OpenAPI schema](https://calmlens.com/openapi.yaml): Public endpoints and schemas. ## Policies - [Terms](https://calmlens.com/terms) - [Privacy](https://calmlens.com/privacy-policy) - [Trust](https://calmlens.com/trust)