# Keysingate > Keysingate issues sealed digital containers: keys stay inside, every action is written to a page-by-page journal anchored to a public network, and anyone can verify it with open code. Keysingate issues sealed digital containers. Keys go in and never come out; every action is a signed journal page with an internal clock, anchored to a public network (Solana in the current implementation). The container file is signed on the outside with ML-DSA-65. The client's key is created in two halves (FROST 2-of-2, distributed key generation) and never exists whole. The issuer keeps no master key. Verification uses open code and needs no account. ## Specification - [Core: draft-nam-ksg-core-00](https://code.keysingate.com/research/draft-nam-ksg-core-00.txt): documents, signatures, time bound, issuance channel, status record - [Journal export: draft-nam-ksg-journal-export-00](https://code.keysingate.com/research/draft-nam-ksg-journal-export-00.txt): the work journal and its export - [JSON Schemas](https://schema.keysingate.com/): core v2 documents ## Code - [Open source (Apache-2.0)](https://code.keysingate.com/): ksg-core-v2, ksg-verify-v2, ksg-vectors-v2, ksg-anchor-v2, test vectors ## For AI agents - [Register an AI agent](https://keysingate.com/agents/): JSON POST to https://keysingate.com/api/register with kind "ai-agent", agent_name, operator, email, purpose; optional homepage, agent_card. Requests are reviewed by a person. - [Agent card](https://keysingate.com/.well-known/agent-card.json) ## Contact - nam@keysingate.com