<!--
{
  "availability" : [

  ],
  "documentType" : "symbol",
  "framework" : "Tor",
  "identifier" : "/documentation/Tor/TorConfiguration/ownsDataDirectory",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "Tor"
    ],
    "preciseIdentifier" : "s:3Tor0A13ConfigurationV17ownsDataDirectorySbvp"
  },
  "title" : "ownsDataDirectory"
}
-->

# ownsDataDirectory

If `true`, [`stop()`](/documentation/Tor/TorClient/stop()) removes [`dataDirectory`](/documentation/Tor/TorConfiguration/dataDirectory) after
Tor exits.

```
var ownsDataDirectory: Bool
```

## Discussion

Swift-tor-only convenience; no corresponding torrc option. Lets
callers bind an ephemeral session to a UUID-suffixed temp
directory and know that a clean [`stop()`](/documentation/Tor/TorClient/stop()) will leave no
state on disk — ideal for tests, CLI one-shots, and privacy-
sensitive UI sessions.

- Defaults to `false` to preserve backward compatibility with
  long-lived data directories. ``doc://Tor/documentation/Tor/TorConfiguration/ephemeral(cacheDirectory:)``
  sets this to `true`.

> Important: Only ``doc://Tor/documentation/Tor/TorConfiguration/dataDirectory`` is removed; ``doc://Tor/documentation/Tor/TorConfiguration/cacheDirectory``
> is preserved so its warm-cache benefit survives across sessions.