Page MenuHomePhabricator

Allow /bin/remove to destroy permanently a passphrase record
Closed, ResolvedPublic

Description

I had stored by mistake some sensitive info in the description field. Because Passphrase keeps a log of everything, I need to delete entirely the credential.

By the way, "Destroy Credential" should be renamed to "Clear Password" as it's really what it does and you can always un-destroy the credential by re-entering the password.

Event Timeline

swisspol raised the priority of this task from to Needs Triage.
swisspol updated the task description. (Show Details)
swisspol added a subscriber: swisspol.
chad triaged this task as Normal priority.Jun 18 2014, 9:27 PM
chad added projects: Passphrase, Badge Awarded.
epriestley added a subscriber: epriestley.

The bin/remove script is used to permanently destroy data in Phabricator. Normally, this isn't allowed from the web UI for most objects.

If you try to permanently destroy a Passphrase credential:

phabricator/ $ ./bin/remove destroy K123

...you'll get an error that the object isn't destructible. To make it destructible:

  • First, rename the interface PhabricatorDestructableInterface (which I have just realized is misspelled) to PhabricatorDestructibleInterface.
  • Now, implement PhabricatorDestructibleInterface on PassphraseCredential.
  • Look at other classes which implement this interface for examples.
  • The only linked object you need to destroy explicitly is the associated PassphraseSecret (if one exists).
  • You can use bin/remove destroy K123 --trace to get more information about what the command is doing.