# Stem Docs

## Server Descriptor

Parsing for Tor server descriptors, which contains the infrequently changing information about a Tor relay (contact information, exit policy, public keys, etc). This information is provided from a few sources…

- The control port via ‘GETINFO desc/*’ queries.

- The ‘cached-descriptors’ file in Tor’s data directory.

- Archived descriptors provided by CollecTor.

- Directory authorities and mirrors via their DirPort.

Module Overview:

    ServerDescriptor - Tor server descriptor.
      |- RelayDescriptor - Server descriptor for a relay.
      |  +- make_router_status_entry - Creates a router status entry for this descriptor.
      |
      |- BridgeDescriptor - Scrubbed server descriptor for a bridge.
      |  |- is_scrubbed - checks if our content has been properly scrubbed
      |  +- get_scrubbing_issues - description of issues with our scrubbing
      |
      |- digest - calculates the upper-case hex digest value for our content
      |- get_annotations - dictionary of content prior to the descriptor entry
      +- get_annotation_lines - lines that provided the annotations

`stem.descriptor.server_descriptor.``BridgeDistribution`(enum)

  Preferred method of distributing this relay if a bridge.

  New in version 1.6.0.

  BridgeDistribution | Description
  --- | ---
  ANY | No proference, BridgeDB will pick how the bridge is distributed.
  HTTPS | Provided via the web interface.
  EMAIL | Provided in response to emails to bridges@torproject.org.
  MOAT | Provided in interactive menus within Tor Browser.
  HYPHAE | Provided via a cryptographic invitation-based system.