Ceramic recently launched Sign in With Solana (SIWS)—a specification developed in partnership with the Chain Agnostic Standards Association and leading Solana wallets and apps—to provide secure and user-friendly authentication.

Signing in with a wallet means users don’t have to worry about pop-up modals or needing to sign every action they take on an app.

Check out an example below, using a Phantom wallet to sign into [Orbis Protocol](https://orbis.club/blog/kjzl6cwe1jw1496mwu9sxirb3rc3bml8tutthakzi7vcd4jee6lybme6fl2qytr?ref=blog.ceramic.network). Developers use Orbis to build features such as social timelines, comment systems or private messaging on top of their applications, with the underlying Ceramic data infrastructure facilitating performant social experiences.

## How Sign-In With Solana works:

1. Ceramic uses the [Decentralized Identifier (DID)](https://w3c.github.io/did-core/?ref=blog.ceramic.network) standard for users accounts. DIDs require no central authority—users control their data and decide who they share it with.
2. With the `did:pkh` DID method, a persistent ID is securely generated from the public key hash of a wallet address. This enables one-click sign-on with a wallet to many apps on Solana.
3. App developers can pair it with the DID-Sessions library, which allows a stream author (user) to delegate to another entity (app developer) the ability to sign certain read/write actions on their behalf for a time-bound period.
4. The SIWS spec passes a human-readable message between a Solana wallet, like Phantom, and a Solana app, like Magic Eden. The message includes sign-in, defines which capability permissions the user is offering to the developer, and for how long—similar to a web2 session today.

You can learn how to use DID:PKH by invoking a Solana auth provider [here](https://did.js.org/docs/authorization?ref=blog.ceramic.network). Learn more about DID-Sessions [here](https://developers.ceramic.network/reference/accounts/did-session/?ref=blog.ceramic.network) and Capability Permissions [here](https://blog.ceramic.network/capability-based-data-security-on-ceramic/). To view the code, check out the DID monorepo [here](https://github.com/ceramicnetwork/js-did/tree/382fecfc211ea999f34651123b6d5a05c4cc52f3?ref=blog.ceramic.network) containing SIWS and DID-Sessions.
