# tspex v0.1.0 - Table of Contents > Time-Stamp Protocol (RFC 3161, RFC 5816) in pure Elixir: build requests, read responses and tokens, and verify a time-stamp at the date it was issued. ## Pages - [tspex](readme.md) - [Security](security.md) - [Changelog](changelog.md) - Guides - [What a verified time-stamp means](verification.md) ## Modules - [Tspex](Tspex.md): Time-Stamp Protocol (RFC 3161, RFC 5816) in pure Elixir: build requests, ask a time-stamping authority (TSA), read the answers, and verify a time-stamp at the date it was issued. It also puts time-stamps in signatures made with `Cmsex`. - [Tspex.HTTP](Tspex.HTTP.md): The HTTP transport of `Tspex.stamp/2`: one `POST` of a time-stamp request to a TSA (RFC 3161, section 3.4), written on `:gen_tcp` and `:ssl`. - [Tspex.Request](Tspex.Request.md): A time-stamp request, the `TimeStampReq` of RFC 3161 (2.4.1). - [Tspex.Response](Tspex.Response.md): A time-stamp response, the `TimeStampResp` of RFC 3161 (2.4.2), as `Tspex.decode_response/2` reads it. Reading only parses: a rejection is a valid response, with `token: nil`, and it is `Tspex.verify/3` that turns it into an error. - [Tspex.TSTInfo](Tspex.TSTInfo.md): The `TSTInfo` of a time-stamp token (RFC 3161, 2.4.2): what the TSA signed. - [Tspex.TimeStampedData](Tspex.TimeStampedData.md): A document bound to a chain of time-stamps: `TimeStampedData`, RFC 5544. - [Tspex.Verified](Tspex.Verified.md): The result of `Tspex.verify/3`: a token that passed every check. - Exceptions - [Tspex.Error](Tspex.Error.md): Why a time-stamp request, response or token could not be built, read or verified.